b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

pascal 视频教程_pascal和basic_pascal选择排序(72)

电脑杂谈  发布时间:2016-12-28 07:02:37  来源:网络整理

对声明为automated类型的方法和属性有以下限制:

? 所有属性、数组属性的参数、方法的参数以及函数的结果,它们的类型必须是自动化类型,包括Byte、

Currency、Real、Double、Longint、Integer、Single、Smallint、AnsiString、WideString、TDateTime、Variant、OleVariant、WordBool和所有接口类型。

? 方法声明必须使用默认的register调用约定,它们可以是虚方法,但不能是动态方法。

? 属性声明可以包含访问限定符(读和写),但不能包含其它限定符(index、stored、default和nodefault)。

访问限定符指定的方法必须使用默认的register调用约定,并且限定符不能使用字段。

? 属性声明必须指定一个类型,并且属性不支持覆盖(override)。

Automated方法或属性声明中可以包含dispid指示字,但指定一个已经使用的ID会导致错误。

在Windows中,这个指示字的后面必须跟一个整数常数,它为成员指定一个Automation dispatch ID。否则,编译器自动为它指定一个ID,这个ID等于类(包括它的祖先类)的方法或属性使用的最大ID加上

1。关于自动化的更多信息,请参考Automation objects。

Forward declarations and mutually dependent classes(Forward声明和相互依赖的类)

若声明一个类时以class和分号结束,也就是有下面的格式,

type className = class;

在class后面没有列出父类,也没有成员列表,这是一个forward声明。Forward声明的类必须在同一个声明区域进行定义声明,换句话说,在forward声明和它的定义声明之间除了类型声明外,不能有任何其它内容。

Forward声明允许创建相互依赖的类,比如

type

TFigure = class; // forward声明

TDrawing = class

Figure: TFigure;

...

end;

TFigure = class // 定义声明

Drawing: TDrawing;

...

end;

不要把forward声明和继承自TObject、不包含任何类成员的完整类声明混淆:

type

TFirstClass = class; // 这是forward声明

TSecondClass = class // 这是一个完整的类声明

end;//

TThirdClass = class(TObject); // 这是一个完整的类声明

- 99 -

Classes and objects

Fields(字段)

字段就像属于对象的一个变量,它可以是任何类型,包括类类型(也就是说,字段可以存储对象的引用)。字段通常具有private属性。

给类定义字段非常简单,就像声明变量一样。字段声明必须出现在属性声明和方法声明之前,比如,下面的声明创建了一个叫做TNumber的类,除了继承自TObject的方法之外,它有一个唯一的整数类型的成员Int。

type TNumber = class

Int: Integer;

end;

字段是静态绑定的,也就是说,它们的引用在编译时是固定的。

type

TAncestor = class

Value: Integer;

end;

TDescendant = class(TAncestor)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-72.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...