Помощь в учёбе, очень быстро...
Работаем вместе до победы

Расширяющиеся объекты. 
Информатика и информационные технологии

РефератПомощь в написанииУзнать стоимостьмоей работы

Вызывая переопределяемый метод, необходимо быть уверенным в том, что порожденный тип объекта включает функциональность родителя. Кроме того, любое изменение в родительском методе автоматически оказывает влияние на все порожденные. Определим дочерний по отношению к TEmployee тип, представляющий работника, которому платится часовая ставка, в следующем примере: OvertimeFactor = 1.5; { почасовой… Читать ещё >

Расширяющиеся объекты. Информатика и информационные технологии (реферат, курсовая, диплом, контрольная)

Если определен порожденный тип, то методы порождающего типа наследуются, однако при желании они могут переопределяться. Для переопределения наследуемого метода попросту описывается новый метод с тем же именем, что и наследуемый метод, но с другим телом и (при необходимости) с другим множеством параметров.

Определим дочерний по отношению к TEmployee тип, представляющий работника, которому платится часовая ставка, в следующем примере:

const.

PayPeriods = 26; { периоды выплат }.

OvertimeThreshold = 80; { на период выплаты }.

OvertimeFactor = 1.5; { почасовой коэффициент }.

type.

THourly = object (TEmployee).

Time: Integer;

procedure Init (AName, ATitle: string; ARate:

Real, Atime: Integer);

function GetPayAmount: Real;

end;

procedure THourly. Init (AName, ATitle: string;

ARate: Real, Atime: Integer);

begin.

TEmployee.Init (AName, ATitle, ARate);

Time:= ATime;

end;

function THourly. GetPayAmount: Real;

var.

Overtime: Integer;

begin.

Overtime:= Time — OvertimeThreshold;

if Overtime > 0 then.

GetPayAmount:= RoundPay (OvertimeThreshold * Rate.

Rate OverTime * OvertimeFactor.

* Rate).

else.

GetPayAmount:= RoundPay (Time * Rate).

end;

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

Важное замечание: хотя методы могут быть переопределены, поля данных переопределяться не могут. После того как было определено поле данных в иерархии объекта, никакой дочерний тип не может определить поле данных в точности с таким же именем.

Показать весь текст
Заполнить форму текущей работой