摘要派生类型
可扩展的派生类型可以是抽象的
type, abstract::base_type
end type
这样的派生类型可能永远不会被实例化,例如通过
type(base_type) t1
allocate(type(base_type) :: t2)
但是多态对象可能将此作为其声明的类型
class(base_type), allocatable::t1
要么
function f(t1)
class(base_type) t1
end function
抽象类型可能包含组件和类型绑定过程
type, abstract::base_type
integer i
contains
procedure func
procedure(func_iface), deferred::def_func
end type
过程 def_func
是一个带有接口 func_iface
的延迟类型绑定过程。这种延迟的类型绑定过程必须由每种扩展类型实现。