请教,关于类多态的问题!!(50分)

  • 主题发起人 主题发起人 chinaweiling
  • 开始时间 开始时间
program test;
type
TClass1 = class
public
ab:Integer;
end;
TClass2 = class
public
cd:Integer;
end;

var
Class1:TClass1;
begin
Class1:=TClass1.Create;
TClass2(Class1).cd:=30;//这句能编译通过,能运行。
//但大家想想是不是内存泄漏.
write(TClass2(Class1).cd);
end.
 
基类声明一个虚拟方法,(以下有2种方式)
1:各派生对象作参数传给基类的方法;
或 2:各派生对象赋值给基类对象,调用基类方法。

这样,一个基类对象(变量)
就能以多种不同的方式执行。

原理是一样的(多态性)。这样理解行吗?
 
后退
顶部