在下面的代码中,在模块中定义了一个具有私有变量(名称)和对该变量的访问函数的抽象类型,它应该由所有派生类型定义:
module baseTypeModule
type, abstract :: baseType
private
character(len=maxLengthCompLabel) :: Name = "" ! Component name
contains
procedure, non_overridable :: getName ! Access functio to Name (read only)
end type baseType
contains
character(len=100) function getName(this)
implicit none
class(baseType), intent(in) :: this
getName = this % Name
end function getName
end module baseTypeModule
由于每个派生类型中还有许多其他变量和函数,我想在不同的模块中定义每个派生类型。
Fortran 中有没有办法告诉编译器我希望只有派生类型的 baseType 才能更改变量名称?