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

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

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

对应于

Rectangle.SetCoordinate(2, Rectangle.GetCoordinate(0) + 100);

- 111 -

Classes and objects

Storage specifiers(存储限定符)

可选指示字stored、default和nodefault被称为存储限定符,它们对程序的行为没有影响,但决定了RTTI的维护方式,它们决定是否把公布属性的值存储到窗体文件中。

stored指示字后面必须跟True、False、Boolean类型的字段名或者一个返回Boolean值的无参数方法。比如,

property Name: TComponentName read FName write SetName stored False; 若一个属性没有stored指示字,就相当于指定了stored True。

default指示字后面必须跟随一个和属性具有相同类型的常量,比如,

property Tag: Longint read FTag write FTag default 0;

要覆盖一个继承下来的默认值而不指定新值,使用nodefault指示字。default和nodefault只支持有序类型和集合类型(当它的基础类型是有序类型,并且上下边界都在0到31之间时)。若声明属性时没有使用default或者nodefault,它被当作nodefault看待。对于实数、指针和字符串,它们分别有隐含的默认值0、nil和 ' '(空串)

当保存一个组件的状态时,组件中公布属性的存储限定符会被检查,若属性的当前值和默认值不同(或没有默认值),并且stored为True,则它的值就会被保存;否则,属性的值不被保存。

注意:存储限定符不支持数组属性。在声明数组属性时,指示字default有不同的意义。

Property overrides and redeclarations(属性的覆盖和重新声明)声明时没有指定类型的属性称为属性覆盖,它允许你改变一个属性继承下来的可见性或限定符。最简单的覆盖只包含关键字property、并在后面跟属性标志符,这种方式用来改变属性的可见性。比如,祖先类声明了一个受保护的属性,派生类可以重新声明它为公有的或公布的。属性覆盖可包含read、

stored、default和nodefault,它们覆盖了继承下来的相应指示字。覆盖可以取代访问限定符、添加限定符或增大属性的可见性,但不能删除访问限定符或降低可见性。覆盖可包含implements指示字,可以实现的接口,但不能删除继承下来的那些。

下面的声明演示了属性覆盖的使用:

type

TAncestor = class

...

protected

property Size: Integer read FSize;

property Text: string read GetText write SetText;

property Color: TColor read FColor write SetColor stored False;

...

end;

type

TDerived = class(TAncestor)

...

protected

property Size write SetSize;

published

property Text;

property Color stored True default clBlue;

...

- 112 - write、它添加

Classes and objects

end;


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

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

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