Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






ВЛАСТИВОСТІ ОБ'ЄКТІВ. ВИЗНАЧЕННЯ ОБ'ЄКТУ.______________________________________

Основним поняттям ООП і елементом програм є об'єкт. Будь-яка об'єктно-орієнтована програма складається з двох частин:

1) декларативної частини програми (описи об'єктів);

2) виконуваної частини програми (основної програми і підпрограм).

Виконувана частина об'єктно-орієнтованої програми складається з послідовності дій, що виконуються над даними типу об'єкт. Кожну таку дію змінює стан об'єкту і є викликом підпрограми, доступної об'єкту.

Об'єднання декларативних (даних) і виконуваних (процедурних) елементів при описі об'єкту називається інкапсуляцією.

Об'єкт - це така структура, компонентами якої є дані і методи (процедури і функції) для їх обробки. Компоненти - дані - це поля об'єкту, а компоненти підпрограми - це методи. По написанню об'єкт нагадує тип-запис. Дані, які має об’єкт, називаються полями об’єкту.

Визначення об’єкту (як і всіх інших типів) має знаходитися в розділі оголошення типів. Визначення простого об’єктного типу дуже схоже на визначення структури; тільки замість одного зарезервованого слова (RECORD) використовується інше (OBJECT).
     

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

Синтаксис оголошення об'єкту:

TYPE<Ім’я-об'єкта> = OBJECT <Оголошення атрибутів>; <Заголовки методів>; END;

<Ім’я - об'єкта>- довільний ідентифікатор;

OBJECT – зарезервоване слово;

<Оголошення атрибутів> - перелік оголошень змінних будь-яких припустимих типів;

<Заголовки методів> - заголовки будь-яких процедур або функцій.

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

Конкретна змінна або константа об'єктного типу називається екземпляром - змінною або константою цього типу.

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

Синтаксис оголошення екземплярів об’єктного типу в мові Pascal.

Var<ім’я змінної - екземпляра>: < ім’я об’єктного типу>;

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

Procedure<ім’я об’єктного типу> . <ім’я процедури (параметри)>; begin {тіло процедури} end; function< ім’я об’єктного типу > . <ім’я функції (параметри)> : <тип>; begin {тіло функції} end;

Екземпляри об’єктного типу можна використовувати для виклику методів об’єкта. Виклик методів об’єкта здійснюється з використанням складеного імені, що містить ім’я екземпляра об’єктного типу та ім’я методу:

<ім’я змінної - екземпляра> .< ім’я атрибуту>;

При описі об'єкту спочатку визначаються всі дані об'єкту, а потім -заголовки методів їх обробки – які випереджаючі описи підпрограм. Далі - тексти всіх методів, написані так само, як підпрограми в модулях.

Текст підпрограми методу може бути в одному з програмних файлів: у тому ж, де оголошений об'єкт, або в іншому, наприклад в одному з модулів.

При написанні тексту методу в заголовку підпрограми перед її ім'ям обов'язково треба вказати ім'я типу об'єкту, якому належить метод, тобто ім'я методу повинне бути складеним у вигляді:

<ім’я – типу об'єкта> . <ім’я-підпрограми>;

Приклад оголошення об’єкту:

Type Dot = object;
 
 


a,b : integer;

end;

Цей об’єктний тип, має два поля, являє собою точку на екрані із координатами а і b.
При цьому безпосередньо в описі об'єкту є тільки заголовки підпрограм, а тіло кожної підпрограми задається окремо. Ось так виглядає визначення типу DOT із попереднього прикладу, доповнене необхідними методами (опис полів завжди повинен передувати заголовкам методів). type Dot=object a,b: integer; procedure Init (x, y: integer); procedure Show; procedure Hide; procedure Move (Da, Db: integer); end; {--------------------------------------------------------------------------} procedure Dot. Init; begin a:=x; b:=y end; {--------------------------------------------------------------------------} procedure Dot. Show; begin PutPixel (a, b, white) end; {--------------------------------------------------------------------------} procedure Dot. Hide; begin PutPixel (a, b, Black) end; {--------------------------------------------------------------------------} procedure Dot. Move; begin Hide; a:= a+Da; b:=b+Db; Show end;
     



Переглядів: 464

<== попередня сторінка | наступна сторінка ==>
Вопрос 36. | Поля об’єкта

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.005 сек.