【发布时间】:2021-12-15 03:59:46
【问题描述】:
考虑下面的代码。
MODULE a
TYPE:: concrete
END TYPE concrete
INTERFACE concrete
PROCEDURE constructor
END INTERFACE concrete
CONTAINS
SUBROUTINE constructor
END SUBROUTINE constructor
END MODULE a
据我了解,在这种情况下,通用接口concrete 将concrete 类型的构造函数声明为子例程constructor(这是我知道的唯一声明构造函数的方法)。现在考虑下面的代码。
MODULE a
TYPE, ABSTRACT:: abstract
END TYPE abstract
INTERFACE abstract
PROCEDURE what_am_i
END INTERFACE abstract
CONTAINS
SUBROUTINE what_am_i
END SUBROUTINE what_am_i
END MODULE a
这里,我有一个 abstract 类型和一个同名的泛型接口,但根据定义,抽象类型 abstract 不能有构造函数。
所以我的问题是:抽象类型、同名泛型接口和该接口内的过程(在示例中为子例程what_am_i)之间是否有任何关系?如果有,是什么?
【问题讨论】:
标签: oop constructor interface fortran abstract-data-type