Clases y objetos de Delphi (7) - herencia

La herencia es el proceso de crear una nueva clase basada en una clase existente. La nueva clase puede heredar los miembros visibles de la clase principal y agregar más miembros según sea necesario.

La clase principal es la más abstracta y la más común. La función de la clase secundaria es perfeccionar y expandir la clase principal.

La subclase puede aumentar la visibilidad de los miembros heredados de la clase principal. Si la visibilidad del miembro A en la clase principal está protegida, puede modificar A a público en la subclase, simplemente redeclare en el área de miembro público de la subclase A es suficiente.

Las subclases no pueden reducir la visibilidad de los miembros de la clase principal. Publicado en la clase principal solo se puede publicar en la clase secundaria.

La definición del método en la clase debe ser posterior a la definición de la variable.

unidad Unit1; 

la interfaz 

usa 
  Windows, Mensajes, SysUtils, Variantes, Clases, Gráficos, Controles, Formularios, 
  Diálogos, StdCtrls; 

tipo 
  TForm1 = clase (TForm) 
    Botón1: TButton; 
    Botón2: TButton; 
    procedimiento Button1Click (Remitente: TObject);
    procedimiento Button2Click (remitente: TObject);
  terminar ; 

  // 下面 自 定义 了 两个 类, TChild 继承 于 TBass 
  TBass = class 
    procedure msg1;
  terminar ; 

  TChild = clase (TBass)
     procedimiento msg2;
  terminar ;


var 
  Form1: TForm1; 

implementación 

{ $ R * .dfm } 

{ TBass } 
procedimiento TBass.msg1;
 comenzar 
  ShowMessage ( ' es Bass ' );
 final ; 

{ TChild } 
procedimiento TChild.msg2;
 comenzar 
  ShowMessage ( ' es hijo ' );
 end ; 



// Prueba 1: la clase padre solo tiene un método msg1 
procedimiento TForm1.Button1Click (Remitente: TObject);
 var 
  b: TBass; 
comenzar 
  b: = TBass. Crear ;
  b.msg1; { is Bass } 
  b.Free; 
end ; 

// Prueba 2: la subclase tiene dos métodos, uno propio msg2, y también hereda un 
procedimiento msg1 TForm1.Button2Click (Sender: TObject);
 var 
  c: TChild; 
begin 
  c: = TChild. Create ; 
  c.msg1; { is Bass } 
  c.msg2; { is Child } 
  c.Free; 
end ; 

end .

 

Supongo que te gusta

Origin www.cnblogs.com/fansizhe/p/12723819.html
Recomendado
Clasificación