类的问题(20分)

  • 主题发起人 主题发起人 aipingren
  • 开始时间 开始时间
A

aipingren

Unregistered / Unconfirmed
GUEST, unregistred user!
type
tone=class

onepr:integer

onepu:string

procedure onepriv



procedure onepubl;//virtual


end

type
Ttwo=class(tone)

twopr:integer

twopu:string

FF:integer

procedure onepriv



procedure onepubl;//override

end



我声明了:aa:tone

aaa:ttwo

为什么我可以这么使用:aa:ttwo.create


也就是为什么我可以把类ttwo的实例赋给aa?aa不是类tone类型的吗?为什么啊?
 
猫是哺乳动物,所以猫可以赋值给哺乳动物类型的变量。
 
tseug举的例好形象
 
这就是传说中的 类的多态[:D]
子类可以赋给父类,而父类却不能父给字类,原因嘛,tseug说得很清楚
 
换句话说,我们可以说 汽车 是 车,但是不能说 车 就是 汽车[:)]

 
你们都是学计算机的吗?

哲学多少分?

[:D]
 
组合与继承
一个子类对象相当于包含了一个父类对象的对象(相当于组合了一个父类对象)
声明为父类型的对象指向一个子类对象时,相当于只使用子类对象中的父类部分

要使用该子类对象的所有功能,就要进行类型转换 TTwo(aa).
 
后退
顶部