RX10.3帮助信息

 type
    className = class [abstract | sealed] (ancestorClass)
        type
          nestedTypeDeclaration
        const
      nestedConstDeclaration
        memberList
    end;
View Code

类类型声明的可选元素

抽象。 即使整个类不包含任何抽象虚拟方法,也可以将其声明为抽象类。
密封。 密封类不能通过继承扩展。

一个类不能既抽象又密封。也就是说abstract与sealed只能二选一。


ancestorClass。 如果省略(ancestorClass),新类将直接从预定义的System.TObject类继承。 如果包含(ancestorClass),并且memberList(类的成员)为空,则可以省略end。
nestedTypeDeclaration。 嵌套类型提供了一种将概念上相关的类型保持在一起并避免名称冲突的方法。
nestedConstDeclaration。 嵌套常量提供了一种将概念上相关的类型保持在一起并避免名称冲突的方法。

也就是说现在支持  嵌套类与嵌套常量了。

注意:嵌套常量只允许符号常量,不允许类型常量:const x=10;(可以)    const x:Integer=20;(会出错)

 

 

注意:Delphi允许实例化一个声明为abstract的类,以实现向后兼容性,但不应再使用此功能。

 

Delphi编译器允许类类型的替代语法。您可以使用以下语法声明对象类型:

 

type objectTypeName = object (ancestorObjectType)
        memberList
     end;
View Code

其中objectTypeName是任何有效标识符,(ancestorObjectType)是可选的,memberList声明字段,方法和属性。如果省略(ancestorObjectType),则新类型没有祖先。对象类型不能具有Published成员。

由于对象类型不是从System.TObject派生的,因此它们不提供内置构造函数,析构函数或其他方法。您可以使用New过程创建对象类型的实例,并使用Dispose过程销毁它们,或者您可以简单地声明对象类型的变量,就像使用记录一样。

支持对象类型仅用于向后兼容。不推荐使用它们。

其中objectTypeName是任何有效标识符,(ancestorObjectType)是可选的,memberList声明字段,方法和属性。如果省略(ancestorObjectType),则新类型没有祖先。对象类型不能具有Published的成员。

由于对象类型不是从System.TObject派生的,因此它们不提供内置构造函数,析构函数或其他方法。您可以使用New过程创建对象类型的实例,并使用Dispose过程销毁它们,或者您可以简单地声明对象类型的变量,就像使用记录一样。

支持对象类型仅用于向后兼容。不推荐使用它们。

posted @ 2019-04-17 09:21  MasterQi  阅读(58)  评论(0)    收藏  举报