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 .