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

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

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

Value: string;

end;

var

MyObject: TAncestor;

begin

MyObject := TDescendant.Create;

MyObject.Value := 'Hello!';//

TDescendant(MyObject).Value := 'Hello!';

end;

虽然MyObject存储了TDescendant的一个实例,但它是以

MyObject.Value解释为TAncestor声明的整数字段。不过要知道,在

是存在的,继承下来的字段被新字段隐藏了,但可以通过类型转换对它进行操作。

Methods(方法)

Methods: Overview(概述)

方法是一个和类相关联的过程或函数,调用一个方法需指定它作用的对象

如,

SomeObject.Free

调用SomeObject的Free方法。

- 100 - 要理解上面的意思,请考虑下面的代码: // 隐藏了继承的Value字段 错误 // 工作正常 TAncestor声明的,所以,编译器把TDescendant对象中,这两个字段都 (若是类方法,则指定类),比

Classes and objects

Method declarations and implementations(方法声明和实现) Method declarations and implementations(方法声明和实现)

在类声明中,方法看起来像过程头和函数头,工作起来像forward声明。在类声明后的某个地方(必须属于同一模块),每个方法必须有一个定义声明来实现它。比如,假设TMyClass类声明包含一个叫做DoSomething的方法:

type

TMyClass = class(TObject)

...

procedure DoSomething;

...

end;

DoSomething的定义声明必须在模块的后面出现:

procedure TMyClass.DoSomething;

begin

...

end;

虽然类声明既可以出现在单元的intece部分,也可以出现在implementation部分,但类方法的实现(定义声明)必须出现在implementation部分。

在定义声明的头部,方法名总是使用类名进行限定。在方法的头部可以重新列出类声明时的参数,若这样做的话,参数的顺序、类型以及名称必须完全相同,若方法是函数的话,返回值也必须相同。

方法声明可包含一些特殊指示字,而它们不会出现在其它函数或过程中。指示字应当只出现在类声明中,并且以下面的顺序列出:

reintroduce; overload; binding; calling convention; abstract; warning

这里,binding是virtual、dynamic或override;calling convention是register、pascal、cdecl、stdcall或safecall;warning是platform、deprecated或library。

Inherited(继承)

关键字inherited在实现多态行为时扮演着特殊角色,它出现在方法定义中,后面跟一个标志符或者不跟。 若inherited后面跟一个成员名称,它表示一个通常的方法调用,或者是引用一个属性或字段(except that the search for the referenced member begins with the immediate ancestor of the enclosing method’s class)。比如,当


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

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

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