русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Інкапсуляція


Дата додавання: 2014-04-22; переглядів: 993.


Об’єднання в об’єкті коду та даних називається інкапсуляцією. При роботі з об’єктами необхідно створювати достатню кількість методів, які б забезпечували роботу з усіма полями даних, щоб не виникала необхідність звертатися до них безпосередньо. При цьому не обов’язково використовувати директиву PRIVATE, достатньо створити стільки методів, скільки необхідно для роботи з полями об’єкта.

Довизначимо наші об’єкти TStudent і TStudent1 так, щоб передбачити всеможливі операції з ними у вигляді методів.

Type

TStudent=OBJECT

Name:String[30];

Date:String[10];

Rate:Real;

Procedure Init(Nm,Dt:String; Rt:Real);

Function GetName:String;

Function GetDate:String;

Function GetRate:Real;

Procedure ShowName;

Procedure ShowDate;

Procedure ShowRate;

END;

 

TStudent1=OBJECT(TStudent)

Bal:Real;

Procedure Init(Nm,Dt:String; Rt,Bl:Real);

Function GetBal:Real;

Function GetSum:Real;

Procedure ShowBal;

Procedure ShowAll;

END;

Методи ShowName, ShowDate, ShowRateі ShowBalвиводять прізвище, дату народження, розмір стипендії і середній бал відповідно. Метод GetSumвикористовуєBalдля розрахунку суми стипедії від середнього балу. Метод ShowAllвиводить значення всіх полів одночасно.

Для екземпляру St1 типу TStudent1 можна використовувати набір методів для непрямої роботи з полями даних, наприклад:

WITH St1 DO BEGIN

Init(‘Ляшук С.Т.’,’10.02.1995’,700,4.5);

ShowAll;

END;

Доступ до полів об’єкту здійснюється лише методами цього об’єкту. Таке правило є не обов’язковим, а рекомендаційним.


<== попередня лекція | наступна лекція ==>
Приховування даних в об’єктах | Перевизначення методів


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн