Наследование конструкторов и деструкторов.
Наследование – это способность порожденного класса использовать характеристики класса-предка. Благодаря новым свойствам, которыми дополняется потомок, порожденный класс может обладать бỏльшими возможностями, чем его предок. Любой класс может быть порожден от другого класса, для этого при его описании указывается имя класса-родителя.
Потомок автоматически наследует поля, методы и свойства своего родителя и может дополнять их новыми.
Большинство конструкторов реализуют некоторые дополнительные действия, необходимые для правильной работы объекта, поэтому в конструкторе класса–потомка необходимо сначала вызвать конструктор родителя, а затем выполнять дополнительные действия.
Вызов конструктора родительского класса достигается с помощью слова Inherited (унаследованный):
constructor <имя класса-потомка>. create;
begin
inherited create;
{дополнительные действия}
End;
Аналогично можно в деструкторе класса-потомка вызвать деструктор класса-предка.
destructor <имя класса-потомка>. destroy;
begin
{дополнительные действия}
inherited destroy
end;
Слово inherited вызывает любой метод родительского класса, а не только конструктор и деструктор.
Например:
Type TPerson=class
name string;
constructor.create (x:string);
end;
Teacher=class (TPerson)
School: integer;
constructor.create (x:string,y:integer);
end;
constructor TPerson.create;
begin
name:=x;
end;
constructor Teacher.create;
begin
inherited.create (x); {вызывает конструктор родителя}
school:=y; {дополнительное действие – присвоение полю
School значения параметра y }
end;
var a: Teacher;
b: TPerson;
begin
a:= Teacher.create(‘Иванов’,131);
b:= TPerson.create(‘Руслан’);
. . . . .
a.free;
b.free;
. . . . .
End.
- Объектно-ориентированный анализ
- Объектно-ориентированное программирование.
- Объектно-ориентированное проектирование.
- Основные понятия объектно-ориентированного проектирования.
- Классы и объекты в Object Pascal.
- Важнейшие принципы объектно-ориентированного программирования.
- Составляющие класса.
- Объекты
- Создание и уничтожение объектов.
- Наследование конструкторов и деструкторов.
- Свойства и инкапсуляция.
- Статические методы.
- Полиморфизм. Виртуальные и динамические методы.
- Абстрактные методы.
- Перекрытие виртуальных и динамических методов.
- Как устроен объект изнутри
- Перезагрузка методов.
- Задача с использованием полиморфизма
- Области видимости.
- Создание класса комплексных чисел.
- Создание класса векторов
- Объект-список
- Модуль по работе со списками
- Основная программа по работе с объектами-списками
- Система программирования Delphi
- Терминология Delphi.
- Первые шаги визуального программирования в среде Delphi.
- Иерархия компонентов.
- Собственники компонентов
- Элементы управления.
- Компоненты (tComponent)
- Оконные не оконные
- Родительские и дочерние компоненты.
- Объектно-событийное программирование. События
- Реакции на события
- Программирование реакции на событие
- Особенности реализации событий
- Делегирование событий
- Виды событий
- Диалоги. Работа с файлами. Открытие и закрытие файлов с использованием стандартных диалоговых окон.
- TOpenDialog и tSaveDialog – диалоги открытия и сохранения файлов (страница dialogs )
- Компонент класса tform
- Создание и использование форм
- Шаблоны форм
- Программы со многими формами
- Модульный принцип построения программ.
- Программные файлы. Основные типы файлов проекта. Простейшее приложение.
- Структура головного файла проекта.