【问题标题】:Difference between type and class in fortran 2003fortran 2003中类型和类之间的区别
【发布时间】:2015-04-15 14:11:37
【问题描述】:

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

【问题讨论】:

    标签: fortran fortran2003


    【解决方案1】:

    关键字type 用于声明派生类型——最好不要养成认为type 用于声明称为@ 的东西的习惯,可能是从外语引入的987654326@.

    关键字class 在受限情况下用于表示of the type specified or any of its extended typesextended type 是 Fortran 语言,用于扩展另一种类型,本质上是一种 专门化 继承另一种类型的类型。使用class 的受限情况是在过程伪参数列表中以及在具有属性allocatable 或属性pointer 的实体声明中。 class 实体在运行时获得动态 type,其动态类型可能因运行而异,或在程序的单次执行中不同。

    如果您不理解前面段落中的解释,可能是因为我解释得不好,但也可能是因为您还没有足够的 Fortran 基础知识。要获得基础知识,请查找最新的在线教程、在线参考指南,然后开始编程。

    【讨论】:

    • 非常感谢您的快速回复。其中一些是有道理的,我认为你是对的,我还没有真正完全掌握基础知识。不幸的是需要很快产生一些结果,所以需要找一个速成课程。
    • 尝试理解动态调度,这是OOP中的关键。整个类的东西和类型绑定的过程都是关于这个的。
    • 为了完整起见,还有一篇文章(关于参数化派生类型),这对 Tori 来说太高级了(我认为)但对某些人有用:pgroup.com/lit/articles/insider/v5n2a4.htm
    猜你喜欢
    • 2012-12-09
    • 2013-10-05
    • 2016-09-28
    • 1970-01-01
    • 2013-11-17
    • 2021-01-12
    • 1970-01-01
    • 2013-05-19
    • 2013-09-26
    相关资源
    最近更新 更多