Delphi的类和对象- 继承
Posted fansizhe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi的类和对象- 继承相关的知识,希望对你有一定的参考价值。
继承就是根据已有的类创建一个新类的过程,新类可继承父类可见的成员,并根据需要添加更多成员。
父类是最为抽象,最具有共性的一个类,子类的功能就是完善与拓展父类。
子类可以增大从父类继承过来的成员的可见性,如果父类中成员A 可见性为protected ,在子类中就可以将A 修改为public ,只需要在子类的公共成员区域重新声明A 即可。
子类不能降低父类的类成员可见性。父类中的published 在子类中也只能是 published。
类中方法的定义一定要在变量的定义之后。
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); end; //下面自定义了两个类, TChild 继承于 TBass TBass = class procedure msg1; end; TChild = class(TBass) procedure msg2; end; var Form1: TForm1; implementation {$R *.dfm} { TBass } procedure TBass.msg1; begin ShowMessage(‘is Bass‘); end; { TChild } procedure TChild.msg2; begin ShowMessage(‘is Child‘); end; //测试1: 父类只有一个方法 msg1 procedure TForm1.Button1Click(Sender: TObject); var b: TBass; begin b := TBass.Create; b.msg1; {is Bass} b.Free; end; //测试2: 子类有两个方法, 自己一个 msg2, 还继承了一个 msg1 procedure TForm1.Button2Click(Sender: TObject); var c: TChild; begin c := TChild.Create; c.msg1; {is Bass} c.msg2; {is Child} c.Free; end; end.
以上是关于Delphi的类和对象- 继承的主要内容,如果未能解决你的问题,请参考以下文章