Delphi中虚方法的实现

 时间:2024-11-09 02:40:56

1、打开RAD Studio开发工具,点击file--new--other

Delphi中虚方法的实现

2、在弹出的对话框窗体,选择Console Application,点击OK新建一个控制台程序,在学习编程语言的时候,建议先从控制台学习基本语法。

Delphi中虚方法的实现

3、在代码中定义一个TMyClass父类,其包含一个虚方法,代码如下:type TMyClass = class name:String; procedure showName();virtual; end;虚函数声明有virtual关键字

Delphi中虚方法的实现

4、在代码中定义一个TMyChClass子类,继承自TMyClass父类,子类覆盖父类的虚方法,代码如下: TMyChClass = class(TMyClass) procedure showName();override; end;

Delphi中虚方法的实现

5、编写父类和子类showName过程的具体实现代码如下:procedure TMyClass.showName;begin Writeln(self.name);end;{ TMyChClass }procedure TMyChClass.showName;begin inherited; Writeln('我是子类对象');end;

Delphi中虚方法的实现

6、在程序入口,分别进行TMyClass和TMyChClass类的对象的实例化,并代用shouName方法,完整代码如下:program Project1;{$APPTYPE CONSOLE}{$R *.res}uses System.SysUtils;type TMyClass = class name:String; procedure showName();virtual; end; TMyChClass = class(TMyClass) procedure showName();override; end;var myObj:TMyClass; myChObj:TMyChClass;{ TMyClass }procedure TMyClass.showName;begin Writeln(self.name);end;{ TMyChClass }procedure TMyChClass.showName;begin inherited; Writeln('我是子类对象');end;begin myObj := TMyClass.Create; myObj.name := '小明'; myObj.showName(); Writeln('-------------'); myChObj := TMyChClass.Create; myChObj.name := '小花'; myChObj.showName(); Readln;end.

Delphi中虚方法的实现

7、F9编译运行上面代码,结果如下图,子类覆盖了父类showName虚方法。虚方法的调用是通过一个虚拟表实现,在VCL中有很多实现

Delphi中虚方法的实现
  • 电脑老是死机是怎么回事
  • 利用proe/cero求定积分-椭圆周长精确计算
  • 哪里可查看“未来5年哪些行业值得关注”?
  • U盘格式FAT32、exFAT、NTFS如何相互转换
  • Windows 7比Vista好在哪儿?
  • 热门搜索
    陌陌主播怎么赚钱 湖南周边旅游景点大全 联通炫铃怎么设置 西昌在哪里 旅游观光车价格 初中生如何瘦腿 如何锻炼记忆力 黄果树瀑布在哪里 如何治疗颈椎病 马桶下水慢怎么回事