<<
>>

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

Инкапсуляция — это комбинирование данных с процедурами и функциями, кото­рые манипулируют этими данными. Данные и методы используются для опреде: ления содержания и возможностей объекта.
Например, окружность описывается координатами центра и радиусом (данные). Кроме того, над окружностью можно проделывать различные действия (методы): вычислять ее длину и площадь огра­ниченного ею круга, проверять находится ли некоторая точка внутри данной ок­ружности и т. п.

Класс, описывающий объект «окружность», может выглядеть следующим обра­зом:

type

■ TCircle = class х.у : double: г : double:

function area : double: function,circumference : double: function inside(x.y:double) : boolean: end:

ПРИМЕЧАНИЕ------------------------------------------------------------------------------

Поля и методы, входящие в состав класса, называются членами класса.

Для работы с классом необходимо создать его экземпляр, то есть описать в разделе

var переменную данного объектного типа:

var

Circle : TCircle;

Доступ к полям класса производится точно так же, как и доступ к полям записи, с помощью одного из двух способов:

? указания имени соответствующего поля после имени экземпляра класса через точку;

? использования оператора with.

Например, для того чтобы задать координаты центра окружности и ее радиус, мож­но использовать следующие фрагменты кода:

Circle.х:-5; Circle, у: -=20: Circle.

г:=10:

Или

with Circle do begin x: =5:

У: =20:

r:=10:

end;

Аналогичным образом производится и вызов методов. Например, чтобы рассчи­тать площадь окружности, требуется следующая строка:

A;=Ci rcle. area:

ПРИМЕЧАНИЕ-----------------------------------------------------------------------------

Обратите внимание, что методу area не нужно передавать никаких данных. Подразу­мевается, что метод применяется к экземпляру класса, внутри которого он опреде­лен. Таким образом, для расчета площади метод area использует данные, содержа­щиеся в поле г данного экземпляра класса.

Инкапсуляция позволяет обеспечить защиту данных от внешнего вмешательства или неправильного использования. Такая возможность обеспечивается разделе­нием доступа к данным и методам объекта, которые могут обладать различной сте­пенью доступности: от общедоступных до таких, которые доступны только из ме­тодов самого объекта. Обычно открытые члены класса используются для того, чтобы обеспечить контролируемый интерфейс с его закрытой частью.

<< | >>
Источник: Избачков Ю. С., Петров В. Н.. Информационные системы. 2006

Еще по теме Инкапсуляция:

  1. Л.О. Доліненко, В.О. Доліненко, С.О. Сарновська. Цивільне право України, 2006
  2. ЦИВІЛЬНЕ ПРАВО УКРАЇНИ
  3. ПЕРЕДМОВА
  4. Частина І ПРОГРАМА КУРСУ «ЦИВІЛЬНЕ ПРАВО УКРАЇНИ»
  5. Розділ І. Загальні положення цивільного права
  6. Тема 1. Поняття цивільного права. Предмет та метод, система цивільного права. Функції та принципи цивільного права
  7. Тема 2. Цивільне законодавство України
  8. Тема 3. Поняття, елементи та види цивільних правовідносин
  9. Тема 4. Здійснення цивільних прав і виконання обов’язків
  10. Тема 5. Захист цивільних прав та інтересів
  11. Тема 6. Об’єкти цивільних прав
  12. Тема 7.ФІЗИЧНІ особи як суб’єкти цивільного права
  13. Тема 8. Юридичні особи
  14. Тема 9. Держава як суб’єкт цивільного права. Територіальні громади та Автономна Республіка Крим як суб’єкти цивільного права
  15. Тема 10. Правочини: поняття, види. Умови чинності правочину