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好在哪儿?
  • 热门搜索
    藏红花泡水喝的禁忌 黄龙玉怎么样 如何健康饮食 拉肚子拉水怎么回事 刀削面的面怎么和 新疆旅游局 无线路由器 中国哪里好玩 如何预防艾滋病 黄芪和枸杞泡水喝有什么作用