Delphi中类的继承与多态

2025-10-28 03:55:57

1、打开Delphi7继承开发环境,在默认工程的Form1窗体放置两个Button,分别设置Caption为:调用子类1和调用子类2

Delphi中类的继承与多态

2、在type区定义三个类一个父类TAnimal,两个子类一个TDog,另一个TCat,都有eat方法,但是子类进行覆盖,代码如下:

  TAnimal = class

    procedure eat();virtual;

  end;

  TDog = class(TAnimal)

    procedure eat();override;

  end;

  TCat = class(TAnimal)

    procedure eat();override;

  end;

Delphi中类的继承与多态

3、下面进行三个类的eat方法编写,代码如下:

{ TAnimal }

procedure TAnimal.eat;

begin

  showmessage('annimal eat anything');

end;

{ TDog }

procedure TDog.eat;

begin

  showmessage('dog eat gutou');

end;

{ TCat }

procedure TCat.eat;

begin

  inherited;

  showmessage('cat eat fish');

end;

TDog直接覆盖了TAnimal的eat方法,TCat先继承,再写自己类的方法代码。

Delphi中类的继承与多态

4、双击调用子类方法1按钮进入事件方法,并写如下代码;

procedure TForm1.Button1Click(Sender: TObject);

var

  dog:TDog;

begin

  dog := TDog.Create;

  dog.eat;

end;

实现TDog类的实例,调用eat方法

Delphi中类的继承与多态

5、双击调用子类方法2按钮进入事件方法,并写如下代码;

procedure TForm1.Button2Click(Sender: TObject);

var

  cat:TCat;

begin

  cat := TCat.Create;

  cat.eat;

  cat.Free;

end;

实现TCat类的实例,调用eat方法

Delphi中类的继承与多态

6、F9运行程序,点击调用方法1,会弹出对话框,内容:dog eat gutou

Delphi中类的继承与多态

7、点击调用方法2,会先弹出对话框,内容:annimal eat anything.再弹出对话框,内容:cat eat fish

Delphi中类的继承与多态

Delphi中类的继承与多态

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢