delphi中的域


======================================================
注:本文源代码点此下载
======================================================

对于对象来说,一个域就象一个变量。域可以是任何类型,包括类类型。(也就是说,域可以保存对象引用。)域通常是私有的。

要定义类的域成员,只需简单地象声明变量那样声明域。所有的域声明必需出现在任何属性或方法声明之前。例如,下面的声明创建了一个叫做tnumber的类,该类中除继承自tobject的方法之外,仅有一个叫做int的整数域成员。

type tnumber = class

int: integer;

end;

域的范围是静态的,即编译时对域的引用是固定的。要明白这一含义,考虑如下代码:

type tancestor = class

value: integer;

end;

tdescendant = class(tancestor)

value: string;//隐藏了继承得到的value域

end;

var

myobject: tancestor;

begin

myobject := tdescendant.create;

myobject.value := 'hello!';//错误

tdescendant(myobject).value := 'hello!';//正常工作

end;

尽管myobject保存了tdescendant的一个实例,它声明为tancestor,但编译器仍将myobject.value解释为对tancestor中声明的整数域的引用。不过,在tdescendant实例对象中仍然存在两个域,只是继承得到的value域被新的域隐藏而已,可以通过类型转换访问前者。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值