Реферат: Программирование. Delphi

TEmployee= class (TTPerson)

FDepartment: integer;// номер отдела

constructor Create (Name :TNam e; Dep: integer);

end;

Заключенное в скобки имя класса TTPerson показывает, что класс TEmployee является производным от класса TTPerson. В свою очередь, класс ттрегз оп является базовым для класса TEmployee.

КлассTEmployee имеет свой собственный конструктор, который обеспечивает инициализацию класса родителя и своих полей. Вот пример реализации конструктора класса TEmployee:

constructor TEmployee.Create(N am e:Tnam e;D ep:integer);

begin

inherited Create (Name);

FDepartment: =Dep;

end;

В приведенном примере директивой inherited вызывается конструктор родительского класса, затем присваивается значение полю класса потомка.

После создания объекта производного класса в программе можно использовать поля и методы родительского класса. Ниже приведен фрагмент программы, демонстрирующей эту возможность.

engineer: = TEm ployee. create( ' Сидоров' , 413 ) ;

engineer.address:= 'yл .Блохина, д.8 , кв.10';

Первая инструкция создает объект типа TEmployee. Вторая устанавливает значение свойства, которое относится к родительскому классу.

Директивы Protected и Private

Помимо объявлений элементов класса (полей, методов, свойств) описание класса, как правило, содержит директивы protected (защищенный) и private (закрытый), которые устанавливают степень видимости элементов класса в программе.

Элементы класса, объявленные в секции protected, доступны только в порожденных от него классах. Область видимости элементов класса этой сек ции не ограничивается модулем, в котором находится описание класса. Обычно в секцию protected помещают описание методов класса.

Элементы класса, объявленные в секции private, видимы внутри модуля. Эти элементы не доступны за пределами модуля, даже в производных классах. Обычно в секцию Private помещают описание полей класса, а методы, обеспечивающие доступ к этим полям, помещают в секцию protected.

Ниже приведено описание классаTTPerson, в которое включены директивы управления доступом.

TTPerson = class

private

Fname:TName; { значение св-ва Name}

Faddress:TAddress;( значение св-ва Address)

protected

Constructor Create (Name :TNam e);

Function GetName :TName ;

Function GetAddress:T Address;

К-во Просмотров: 572
Бесплатно скачать Реферат: Программирование. Delphi