摘要派生型別
可擴充套件的派生型別可以是抽象的
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
的延遲型別繫結過程。這種延遲的型別繫結過程必須由每種擴充套件型別實現。