请看下面的语句;
请问是classa.fun1执行了还是classb.fun1执行了
classa
procedure fun1:virtual;procedure fun1
begin
...
end;
classb=class(classa)
procedure fun1:override;procedure fun1
begin
...
end;aa:classa;
aa:=classb.create;
aa.fun1;请问此时aa执行的是哪个fun1啊?
请问是classa.fun1执行了还是classb.fun1执行了
classa
procedure fun1:virtual;procedure fun1
begin
...
end;
classb=class(classa)
procedure fun1:override;procedure fun1
begin
...
end;aa:classa;
aa:=classb.create;
aa.fun1;请问此时aa执行的是哪个fun1啊?
解决方案 »
- 请教delphi7登陆问题
- 请各位大侠,各位高手帮忙!
- fastReport报表问题,如何固定主项数据行数?
- 修改dataset 中某一记录的字段值 edit post 报错 field 'ORD_FLAG' cannot be modified
- 急救:如何使窗口随着分辩率改变而按比例进行改变?
- 请教,什么是TRS连接方式,第一次听说Delphi与oracle数据库用这种方式?哪位知道???
- 如何编程更改IP?
- delphi如何编译成.exe文件,如何联接上数据库
- 如何用delphi求最优化问题?
- 请问学习DELPHI时,那些书值得一买?
- 求助:VC调用DELPHI编写的DLL的问题?急````````
- DLL调用问题
a: classa;
begin
a := classa.Create; //如果这样创建就执行的是Classa的funl的方法.
a.funl;
/////////////////
a := classb.Create; //如果这样创建就执行的是Classb的funl的方法.
a.funl;
end;
这就是多态的一种实现啦..
用在哪个语言里都一样.