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


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


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


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


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


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


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


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


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


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



Контакти
 


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






Конструкторів може бути декілька у одного об’єкта. Явний виклик будь-якого з них ініціалізує режим пізнього зв’язування.

Конструктором варто вибирати, або ініціалізуючий метод, або пустий.

Конструктор не може бути віртуальним.

Конструктори можуть успадковуватися при наслідуванні.

5. Конструктор включає пізнє зв’язування лише для „свого” об’єкта.

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

Оголошується деструктор за допомогою службового слова DESTRUCTOR. Це слово замінює відповідно слово procedure або function у заголовку відповідного методу. Як і конструктор деструктор може бути один з значущих методів, який виконує деяку завершальну операцію об’єкта. Також деструктор може бути пустим, тоді його основне призначення закрити режим пізнього зв’язування.

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

Деструкторів у об’єкта може бути декілька. Пізнє зв’язування закривається явним викликом будь-якого з них.

В якості деструктора варто вибирати, або завершальний метод, або пустий метод.

Деструктор може бути віртуальним.

Деструктори можуть успадковуватися за принципом наслідування.

Свій режим зв’язування у об’єкта закриває свій деструктор.

Таким чином для реалізації методу рух у попередньому прикладі потрібно, щоб оголошення структури класу point або circle мало наступний вигляд:

TYPE

POINT=object

x,y:integer;

c:byte;

f:boolean;

CONSTRUCTOR INIT;

PROCEDURE SETCOORD (xx,yy:integer);

PROCEDURE SETCOL (cc:byte);

FUNCTION GETXX: integer;

FUNCTION GETYY: integer;

PROCEDURE ON; virtual;

PROCEDURE OFF;virtual;

PROCEDURE RUH(dx,dy:integer);

DESTRUCTOR DONE;

END;

CIRCLE=object(POINT)

r:integer;

PROCEDURE SETR(rr:integer);

FUNCTION GETR : integer;

PROCEDURE ON; VIRTUAL;

PROCEDURE OFF; VIRTUAL;

END;

... ... ...

{реалізація методів}

VAR

a:POINT;

b:CIRCLE;

BEGIN

b.SETCOORD(200,200);

b.SETCOL(9);

b.SETR(20);

b.INIT;

b.RUH(50,50);

b.DONE;

END.

Тема: Динамічні об’єкти.

Можна будувати відповідні вказівні типи. Застосування вказівників дозволяє оперувати із динамічними об’єктами. Використання саме динамічних об’єктів є зручним у тих випадках, коли структура цих об’єктів і реалізація їх поведінки є достатньо громісткою, а отже код у пам'яті виявиться великим.

В статичній пам'яті не вдасться розмістити достатню кількість таких об’єктів, при цьому можуть бути задачі, в яких кількість об’єктів не є фіксованою, тобто вони постійно утворюються і знищуються.

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

TYPE

POINT=object

... ... ...

END;

CIRCLE=object(POINT)

... ... ...

END;

PPOINT=^POINT;

PCIRCLE:=^CIRCLE;

VAR

a:POINT;

b:CIRCLE;

pa:PPOINT;

pb:PCIRCLE;




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

<== попередня сторінка | наступна сторінка ==>
То дійсно переміститься коло. В цьому випадку спрацюють власні методи, оскільки вони пов’язані з іменем об’єкта b. | Так оголошені вказівники на об’єкти класів є статичними змінними – це чотирибайтні числа-адреси у пам'яті.

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

 

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


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