Inherited


Słowo kluczowe inherited gra specjalną rolę w implementacji polimorfizmu (wielopostaciowość). Może ono występować w definicjach metod, z lub bez identyfikatora za nim.

Jeśli inherited poprzedza identyfikator metody, zapis taki reprezentuje wywołanie tej metody, lecz uruchamiana jest jej implementacja odziedziczona od bezpośredniego przodka danej klasy. W przykładzie:

inherited Create(...);

wywoływana jest odziedziczona metoda Create.

Jeśli po inherited nie ma identyfikatora, oznacza to wywołanie odziedziczonej metody o nazwie takiej jak nazwa metody, w definicji której taki zapis został umieszczony.

Wywołanie odziedziczonej metody może występować z parametrami lub bez nich; jeśli nie wyspecyfikowano parametrów, odziedziczona metoda wywołana zostanie z taką samą listą parametrów, jak metoda zawierająca wywołanie. Przykładowo, postać:

inherited;

występuje często w implementacjach konstruktorów. Wywołuje ona odziedziczony konstruktor z tymi samymi parametrami co w typie potomnym.