Classes Delphi et objets (7) - héritage

L'héritage est le processus de création d'une nouvelle classe basée sur une classe existante. La nouvelle classe peut hériter des membres visibles de la classe parente et ajouter d'autres membres selon les besoins.

La classe parent est la plus abstraite et la plus courante. La fonction de la classe enfant est de perfectionner et de développer la classe parent.

La sous-classe peut augmenter la visibilité des membres hérités de la classe parent. Si la visibilité du membre A dans la classe parent est protégée, vous pouvez modifier A en public dans la sous-classe, il suffit de redéclarer dans la zone membre publique de la sous-classe Un suffit.

Les sous-classes ne peuvent pas réduire la visibilité des membres de classe de la classe parente. Publié dans la classe parent ne peut être publié que dans la classe enfant.

La définition de la méthode dans la classe doit être postérieure à la définition de la variable.

unit Unit1; 

l'interface 

utilise 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms 
  , Dialogs, StdCtrls; 

type 
  TForm1 = classe (TForm) 
    Button1: TButton; 
    Button2: TButton; 
    procédure Button1Click (Sender: TObject);
    procédure Button2Click (Sender: TObject);
  fin ; 

  // 下面 自 定义 了 两个 类, TChild 继承 于 TBass 
  TBass = classe 
    procédure msg1;
  fin ; 

  TChild = classe (TBass)
     procédure msg2;
  fin ;


var 
  Form1: TForm1; 

implémentation 

{ $ R * .dfm } 

{ TBass } 
procédure TBass.msg1;
 begin 
  ShowMessage ( ' is Bass ' );
 end ; 

{ TChild } 
procedure TChild.msg2;
 begin 
  ShowMessage ( ' is Child ' );
 end ; 



// Test 1: la classe parente n'a qu'une seule méthode msg1 
procédure TForm1.Button1Click (Sender: TObject);
 var 
  b: TBass; 
begin 
  b: = TBass. Create ;
  b.msg1;{ is Bass } 
  b.Free; 
end ; 

// Test 2: la sous-classe a deux méthodes, une msg2 elle-même et une 
procédure msg1 TForm1.Button2Click (Sender: TObject);
 var 
  c: TChild; 
begin 
  c: = TChild. Create ; 
  c.msg1; { is Bass } 
  c.msg2; { is Child } 
  c.Free; 
end ; 

end .

 

Je suppose que tu aimes

Origine www.cnblogs.com/fansizhe/p/12723819.html
conseillé
Classement