1、打开Delphi7继承开发环境,在默认工程的Form1窗体放置两个Button,分别设置Caption为:调用子类1和调用子类2
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;
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先继承,再写自己类的方法代码。
4、双击调用子类方法1按钮进入事件方法,并写如下代码;procedure TForm1.Button1Click(Sender: TObject);var dog:TDog;begin dog := TDog.Create; dog.eat;end;实现TDog类的实例,调用eat方法
5、双击调用子类方法2按钮进入事件方法,并写如下代码;procedure TForm1.Button2Click(Sender: TObject);var cat:TCat;begin cat := TCat.Create; cat.eat; cat.Free;end;实现TCat类的实例,调用eat方法
6、F9运行程序,点击调用方法1,会弹出对话框,内容:dog eat gutou
7、点击调用方法2,会先弹出对话框,内容:annimal eat anything.再弹出对话框,内容:cat eat fish