12、数据类型相关知识详解

数据类型相关知识详解

1. 绑定规则

1.1 绑定属性限制

  • 具有 NON_OVERRIDABLE 属性的父绑定不能被重写,这是该属性的唯一作用。
  • 通用绑定不会被重写,而是会扩展具有相同通用规范的任何继承通用绑定。
  • 最终绑定既不会被继承也不会被重写。如果扩展类型及其父类型都有最终绑定,则会按照特定规则调用两个绑定指定的子例程。

1.2 抽象类型和延迟过程绑定

抽象类型具有 ABSTRACT 属性,可用于定义类型扩展的父类型,但由于派生类型说明符的限制,无法创建动态类型为抽象类型的对象,可将其视为类型扩展树中的占位符。延迟过程绑定可视为永远不会被调用但可能在类型扩展中被重写的绑定的占位符。

规则和限制
  1. 抽象类型必须是可扩展的。
  2. 延迟绑定(无论是声明的还是继承的)仅允许在抽象类型中使用。如果扩展了具有延迟绑定的抽象类型,且扩展类型不是抽象类型,则扩展类型必须用非延迟绑定重写延迟绑定。
  3. 非延迟绑定不能用延迟绑定重写。

1.3 继承和重写绑定示例

以下是一个关于过程类型绑定继承的示例:

module th_file_module
   private
   type, public, abstract :: th_file_type
      integer :: lun = 0
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值