Delphi. Pascal
Урок 25. Наследование
Наследование - одно из фундаментальных понятий объектно-ориентированного программирования. Приблизительно это означает следующее: если у вас есть класс, обладающий некоторой функциональностью (который называется родительским классом), то вы можете на его основе создать другой класс (так называемый дочерний), в котором будет добавлена только новая функциональность, которой не было в родительском классе. При этом ваш дочерний класс сможет делать все то, что может делать и родительский класс (несмотря на то, что у него соответствующего кода нет - этот код находится в родительском классе).
Вот пример родительского и дочернего классов:
...
type
// Родительский класс.
TClass1 = class
public
procedure Print1();
end;
// Дочерний класс.
TClass2 = class (TClass1)
public
procedure Print2();
end;
procedure TClass1.Print1();
begin
Writeln('Hello from Class1.');
end;
procedure TClass2.Print2();
begin
Writeln('Hello from Class2.');
end;
var
s: TClass2;
begin
s := TClass2.Create;
s.Print1(); // Выведется 'Hello from Class1.'
s.Print2(); // Выведется 'Hello from Class2.'
end.
Обратите внимание на синтаксис - при объявлении дочернего класса мы пишем имя его родителя в круглых скобках после клчевого слова class:
...
TClass2 = class (TClass1)
...
Также обратите внимание, что для экземпляра дочернего класса мы можем вызывать не только его методы, но и методы его родителя.