« Предыдущий вопрос
Поля данных объекта и формальные параметры метода

Выводом из того факта, что методы и их объекты разделяют общую область действия, является то,

Загрузка
Скачать Получить на телефон
например +79131234567

txt fb2 ePub html

на телефон придет ссылка на файл выбранного формата

Что это

Шпаргалки на телефон — незаменимая вещь при сдаче экзаменов, подготовке к контрольным работам и т.д. Благодаря нашему сервису вы получаете возможность скачать на телефон шпаргалки по информационным технологиям. Все шпаргалки представлены в популярных форматах fb2, txt, ePub , html, а также существует версия java шпаргалки в виде удобного приложения для мобильного телефона, которые можно скачать за символическую плату. Достаточно скачать шпаргалки по информационным технологиям — и никакой экзамен вам не страшен!

Сообщество

Не нашли что искали?

Если вам нужен индивидуальный подбор или работа на заказа — воспользуйтесь этой формой.

Следующий вопрос »
Расширяющиеся объекты

Если определен порожденный тип, то методы порождающего типа наследуются, однако при желании он

Инкапсуляция


Объединение в объекте кода и данных называется инкапсуляцией. В принципе, возможно предоставить достаточное количество методов, благодаря которым пользователь объекта никогда не будет обращаться к полям объекта непосредственно. Некоторые другие объектно-ориентированные языки, например 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;


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