русс | укр

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

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


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


Означення об’єкта, опис типу і екземпляра об’єкта


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


Об’єкт у розумінні мови Pascal – це така структура, компонентами якої є взаємозв’язані дані різних типів і процедури та функції, що ці дані використовують. Компоненти-дані називаються полями об’єкта, а компоненти-процедури і функції називаються методами. Для позначення типу «об’єкт» в мові є службове слово OBJECT. Тип об’єкту описується способом, схожим на задання типу «запис».

TYPE

ІмяОбєкту=OBJECT

ПоляДаних;

Заголовки Методів;

END;

Конкретну змінну, оголошену типом ІмяОбєкту, прийнято називати екземпляром цього типу.

Розглянемо як приклад, об’єкт типу «студент». Нехай передбачені поля об’єкту: Name - ім’я студента, Date – дата народження, Rate – розмір стипендії.

З використанням типу «запис» це виглядало б так:

TStudent=RECORD

Name:String[30];

Date:String[10];

Rate:Real;

END;

Відповідно з використанням типу «об’єкт»

 

TStudent=OBJECT

Name:String[30];

Date:String[10];

Rate:Real;

END;

 

Змінну типу об’єкту (екземпляр об’єкту) описують так, як в Pascal описується будь-яка статична чи динамічна змінна, що вказує на розміщену в динамічній пам’яті змінну

var

Student:TStudent;

або так

TYPE

PStudent=^TStudent;

VAR

Stat_st:TStudent;

Dyn_St:PStudent;

Перед використанням змінної Dyn_St необхідно виділити для неї пам’ять з допомогою функції New.

Поля об’єкта

До поля об’єкта можна звернутися як до поля звичайного запису, за допомогою оператора WITH або використовуючи префікс з іменем об’єкта. Наприклад:

Student.Rate:=800;

WITH Student DO BEGIN

Name:=’Лящук Петро Павлович’;

Date:=’25.06.1995’;

END;

Причому до полів можна звертатися не тільки тоді, коли вони напряму описані в даному типі, а й тоді, коли вони успадковуються від батьківського (породжуючого) типу (як проходить успадковування, буде показано пізніше).

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

Найраціональнішим способом одержання доступу до полів об’єкту у Pascal-і є використання методів самого об’єкта, при цьому метод є процедурою чи функцією, описаною всередині об’єкту, яка дозволяє зв’язуватися з ним.

 


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


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