zoukankan      html  css  js  c++  java
  • 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.
  • 相关阅读:
    poj 1113 Wall 凸包的应用
    NYOJ 78 圈水池 (入门级凸包)
    Monotone Chain Convex Hull(单调链凸包)
    poj Sudoku(数独) DFS
    poj 3009 Curling 2.0(dfs)
    poj 3083 Children of the Candy Corn
    Python join()方法
    通过FISH和下一代测序检测肺腺癌ALK基因融合比较
    华大病原微生物检测
    NGS检测ALK融合大起底--转载
  • 原文地址:https://www.cnblogs.com/fansizhe/p/12723819.html
Copyright © 2011-2022 走看看