| 
				
			 Наследование
 Концепция объектно-ориентированного программирования предполагает возможность определять новые классы посредством добавления полей, свойств и методов к уже существующим классам. Такой механизм получения новых классов называется порождением. При этом но.вый, порожденный класс (потомок) наследует свойства и методы своего базового, родительского класса.
 В объявлении класса-потомка указывается класс родителя. Например, класс TEmployee (сотрудник) может быть порожден от рассмотренного выше класса TPerson путем добавления поля FDepartment (отдел). Объявление класса TEmplioyee в этом случае может выглядеть так:
 TEmployee = class(TPerson)
 FDepartment: integer; // номер отдела
 constructor Create(Name:TName; Dep:integer); end;
 Заключенное в скобки имя класса TPerson показывает, что класс TEmployee является производным от класса TPerson. В свою очередь, класс TPerson является базовым для класса TEmployee.
 Класс TEmpioyee должен иметь свой собственный конструктор, обеспечивающий инициализацию класса-родителя и своих полей. Вот пример реализации конструктора класса TEmployee:
 constructor TEmpioyee.Create(Name:Tname;Dep:integer); begin
 inherited Create(Name);
 FDepartment:=Dep; end;
 В приведенном примере директивой inherited вызывается конструктор родительского класса. После этого присваивается значение полю класса-потомка.
 После создания объекта производного класса в программе можно использовать поля и методы родительского класса. Ниже приведен фрагмент программы, демонстрирующий эту возможность.
 engineer := TEmployee.Create('Сидоров',413); engineer.address := 'ул.Блохина, д.8, кв.10';
 Первая инструкция создает объект типа TEmployee, вторая — устанавливает значение свойства, которое относится к родительскому классу. 
 Источник: http://qo.do.am/index/teorija_po_programirovaniju/0-47 СОДЕРЖАНИЕ Delphi 7
 |