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

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

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

...

end; fieldOrMethodHeading的值通

- 109 - 如果它是在祖先则

Classes and objects

给出上面的声明,语句

if Compass.Heading = 180 then GoingSouth;

Compass.Heading := 135;

对应于

if Compass.FHeading = 180 then GoingSouth;

Compass.SetHeading(135);

在TCompass类中,读取Heading属性时没有执行任何命令,只是取回存储在FHeading字段的值;另一方面,给Heading赋值变成了对SetHeading方法的调用,我们推测,它的操作将是把新值存储在FHeading字段,还可能包括其它命令。比如,SetHeading可能以如下方式实现:

procedure TCompass.SetHeading(Value: THeading);

begin

if FHeading <> Value then

begin

FHeading := Value;

Repaint; // 刷新用户界面来反映新值

end;

end;

若声明属性时只有读限定符,则它是只读属性;若只有写限定符,则它是只写属性。当给一个只读属性赋值,或在表达式中使用只写属性时都将产生错误。

Array properties(数组属性)

数组属性是被索引的属性,它们能表示像下面的一些事物:列表中的条目、一个控件的子控件和位图中的象素等等。

声明数组属性时包含一个参数列表,它指定索引的名称和类型,比如,

property Objects[Index: Integer]: TObject read GetObject write SetObject;

property Pixels[X, Y: Integer]: TColor read GetPixel write SetPixel;

property Values[const Name: string]: string read GetValue write SetValue;

索引参数列表的格式和过程(或函数)的参数列表相同,除了使用中括号取代了圆括号。不像数组只使用有序类型的索引,数组属性的索引能使用任何类型。

对数组属性,访问限定符必须使用方法而不是字段。读限定符的方法必须是一个函数,它的参数数目、类型以及顺序必须和索引中列出的一致,并且返回值和属性是同一类型;对写限定符,它必须是一个过程,这个过程必须使用索引中列出的参数,包括数目、类型以及顺序必须相同,另外再加一个和属性具有相同类型的值参(传值)或常量参数。

比如,前面的属性可能具有如下的访问方法声明:

function GetObject(Index: Integer): TObject;

function GetPixel(X, Y: Integer): TColor;

function GetValue(const Name: string): string;

procedure SetObject(Index: Integer; Value: TObject);

procedure SetPixel(X, Y: Integer; Value: TColor);

procedure SetValue(const Name, Value: string);

一个数组属性通过使用属性索引来进行访问。比如,语句

if Collection.Objects[0] = nil then Exit;


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

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

    • 法兰契斯卡
      法兰契斯卡

      同志们是取向差异

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