2003年fortran中类型和类别之间的差异

Tor*_*ori 10 fortran fortran2003

我被告知我的博士学位,我必须学习fortran 2003语言.我以前从未使用过OOP程序,也没有使用过fortran程序.我试图了解类型和类之间的区别.我知道类是使用'TYPE'关键字声明的,但我也看到了使用关键字'CLASS'的例子,所以我感到困惑.希望有道理.

Hig*_*ark 11

该关键字type用于声明派生类型 - 最好不要养成思考的习惯,也许是从外语导入的,type用于声明所谓的东西classes.

class在受限制的情况下,关键字用于表示of the type specified or any of its extended types. 扩展类型是Fortran-speak,用于扩展另一种类型的类型,基本上是一种专门化继承自另一种类型的类型.其中class使用的受限情况是在过程伪参数列表和具有属性allocatable或属性的实体的声明中pointer.甲class实体获取一个动态type在运行时,它的动态类型可以从运行变化来运行,或在整个计划的单次执行.

如果您不理解前面段落中的解释,可能是因为我已经解释得很差,但也可能是因为您还没有足够的Fortran基础知识.要获得基础,请找到最新的在线教程,在线参考指南,并开始编程.

  • 尝试理解“动态调度”,这是 OOP 中的关键。整个类的事情和类型绑定的过程都是关于这个的。 (2认同)
  • @Tori速成课程在这里:https://www.pgroup.com/lit/articles/insider/v3n1a3.htm和https://www.pgroup.com/lit/articles/insider/v3n2a2.htm (2认同)