打印本文 打印本文 关闭窗口 关闭窗口
Delphi对象模型(Part I)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2134  更新时间:2009/4/23 18:42:50  文章录入:mintao  责任编辑:mintao

 

[2]

可变类型

 

 

OLE自动化

 

 

静态类型校验

 

异常处理

函数(过程)重载

 

操作符重载

 

 

 

非类函数

 

非对象变量

 

属性

 

 

RTTI(运行期类型信息)

[3]

 

Generic类型(模板)

 

 

 

嵌入式线程支持

 

 

消息传递

 

 

 

嵌入式汇编

 

[4]

 

单行函数

 

 

 

 

我们将在以下几节中详细讨论这些语言特性。

 

类(Class)

类的声明描述了该类所包含的字段(Field),方法(Method),以及属性(Property)等信息。你可以在单元的interface或者implementation部分声明一个类,但是方法(method)——与函数或过程类似——必须得在implementation部分定义。同时,你必须在该类声明的同一单元内实现该方法。

类可以声明分为一个或多个部分,允许每一部分有不同的访问级别(可以是私有的private,受保护的protected,公开的public,发布的published以及自动的automated等)。有关访问级别的内容将在后面谈及。你甚至可以将各个声明部分任意排列,并且,允许相同的访问级别重复出现。

在声明的每一部分中,你可以定义任意多的字段,跟在方法和属性的声明后面。方法和属性的声明可以混在一起,但是在同一部分中所有字段必须声明在方法之前。与Java和C++不同,Delphi中不能在类声明中嵌套其他任何类型的声明。

类只有单一的基类,类从基类中继承所有字段,属性和方法。假如你不明确指明基类,Delphi自动使用TObject作为基类。类可以实现任意多的接口。因而Delphi的对象模型与Java的极为类似,即一个类可以对一个简单的类进行扩展并且实现多重接口。

提示
在Delphi中有个约定,类型名称通常以字母T打头,如TObject。不过这只是一个约定而不是语法规则。并且,IDE也通常以一个T开头来命名一个类。

类引用是对一个特定的类的一种引用。类引用并不是一个类对象(在Jave和SmallTalk中如此),但它可以用来创建新的对象,调用类方法,以及测试或试验对象的类型。类引用以指针的方式实现,这个指针指向有关该类信息的一张表,包括类的虚拟方法表(VMT)。(参见第三章“VMT中到底有些什么”相关内容。)

类引用最通常的用法是调用该类的构造器constructor来创建一个对象实例。也可以使用类引用来检测对象的类型(使用Is操作符)。通常情况下,类引用是一个类名,但也可以是一个元类(metaclass)类型的变量,或者函数和属性的返回值。

例2-2:声明一个类以及元类

type
  TComplexClass = class of TComplex; //元类类型
  TComplex = class(TPersistent)
  private
    fReal, fImaginary: Double;
  public
    constructor Create(Re: Double = 0.0); overload;
    constructor Create(Re, Im: Double); overload;
    destructor Destroy; override;
    procedure Assign(Source: TPersistent); override;
    function AsString: string;
  published
    property Real: Double read fReal write fReal;
    property
  end;

 PartII

PartIII

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口