Диплом, курсовая, контрольная работа
Помощь в написании студенческих работ

Инкапсуляция. 
Информатика и информационные технологии

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

Выводит на экран фамилию, должность и сумму выплат}. Init (Aleksandr Petrov, Fork lift operator' 12.95, 62); Procedure Init (AName, ATitle: string; ARate: Real); Procedure Init (AName, ATitle: string; ARate: THourly = object (TEmployee). Function GetPayAmount: Real; Function GetPayAmount: Real; Function GetTitle: String; Function GetName: String; Function GetRate: Real; Real, Atime: Integer… Читать ещё >

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

Объединение в объекте кода и данных называется инкапсуляцией. В принципе, возможно предоставить достаточное количество методов, благодаря которым пользователь объекта никогда не будет обращаться к полям объекта непосредственно. Некоторые другие объектно-ориентированные языки, например Smalltalk, требуют обязательной инкапсуляции, однако в Borland Pascal имеется выбор.

Например, объекты TEmployee и THourly написаны таким образом, что совершенно исключена необходимость прямого обращения к их внутренним полям данных:

type.

TEmployee = object.

Name, Title: string[25];

Rate: Real;

procedure Init (AName, ATitle: string; ARate: Real);

function GetName: String;

function GetTitle: String;

function GetRate: Real;

function GetPayAmount: Real;

end;

THourly = object (TEmployee).

Time: Integer;

procedure Init (AName, ATitle: string; ARate:

Real, Atime: Integer);

function GetPayAmount: Real;

end;

Здесь присутствуют только четыре поля данных: Name, Title, Rate и Time. Методы GetName и GetTitle выводят фамилию работающего и его должность соответственно. Метод GetPayAmount использует Rate, а в случае работающего THourly и Time для вычисления суммы выплат работающему. Здесь уже нет необходимости обращаться непосредственно к этим полям данных.

Предположив существование экземпляра AnHourly типа THourly, мы могли бы использовать набор методов для манипулирования полями данных AnHourly, например:

with AnHourly do.

begin.

Init (Aleksandr Petrov, Fork lift operator' 12.95, 62);

{Выводит на экран фамилию, должность и сумму выплат}.

Show;

end;

Следует обратить внимание, что доступ к полям объекта осуществляется не иначе, как только с помощью методов этого объекта.

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