假设obe1:Tobject,
obe=Class(Tobject),
Tobject中有一保护方法method1,
问题1:obe1.method1不行,但obe(obe1).method1就行
问题2:obe(obe1)这样的表达式到底是一个变量还是一个类
问题3:为什么用类Tobject去访问类中声明的方法method1不行,即不可以这样Tobject.method1
obe=Class(Tobject),
Tobject中有一保护方法method1,
问题1:obe1.method1不行,但obe(obe1).method1就行
问题2:obe(obe1)这样的表达式到底是一个变量还是一个类
问题3:为什么用类Tobject去访问类中声明的方法method1不行,即不可以这样Tobject.method1
obe1是个变量,obe是个类,而且是tobject的子类
obe1只能访问tobject中的public方法与属性
obe除了tobject中的private方法与属性其他均可obe(obe1)这是强制类型转换,相当于
obe2: tobe
obe2 := tobe(obe1);
obe2.method1;tobject.method1这样的写法是不可以的(除非method1是类方法),因为没有可操作的对象
如果是obe的,没什么问题啊?
obe(obe1)是一个类,把obe1转化为obe类,可以访问ibe类的所有非私有对象!
2. obe(obe1);是一个类型强制转化,将obe1转换成obe类型;
3,method1是 obe的保护成员,而不是tobject的保护成员,所以tobject1.method1是不行的。
“obe(obe1)是一个类,把obe1转化为obe类,可以访问ibe类的所有非私有对象!”
所有用在这里是错误的!! to:
“obe1是tobject而不是obe的实例。如果定义成 obe1:obe,则可以 obe1.method1” 错误!
“method1是 obe的保护成员,而不是tobject的保护成员,所以tobject1.method1是不行”
这样解释是错误的!
烦楼主以后把问题说清楚,象你这样别人很难回答的,甚至会误导别人的!!
如果真照你说的这样,问题是不存在的。说清楚一点,
继承类也可以