Dziedziczenie i zakres


Podczas deklarowania klasy można wyspecyfikować jej bezpośredniego przodka. Na przykład:

type TSomeControl = class(TWinControl);

deklaruje klasę TSomeControl która pochodzi od klasy TWinControl. Automatycznie dziedziczone są wszystkie składniki z bezpośredniego przodka. Każda klasa może mieć zadeklarowane nowe składniki i może mieć przedefiniowane składniki odziedziczone, ale deklaracja nie usuwa składników odziedziczonych. Stąd TSomeControl zawiera wszystkie składniki zdefiniowane w klasie TWinControl i w każdym z przodków klasy TWinControl.

Zakres ważności identyfikatorów składników rozpoczyna się od miejsca gdzie składnik jest deklarowany, ciągnie się do końca deklaracji klasy i rozciąga na wszystkie potomne klasy, i bloki wszystkich metod zdefiniowanych w klasie i jej potomkach.