Головна

Віртуальні методи. Конструктори і деструктори

  1. Part3. ОБГОВОРЕННЯ МЕТОДИ.
  2. VII. Інструментальні методи дослідження органів шлунково-кишкового тракту. Ендоскопічні методи.
  3. VIII. Інструментальні методи дослідження органів дихання. Ендоскопічні методи.
  4. А) Організаційні методи.
  5. Активні групові методи.
  6. Б) Адміністративні методи.
  7. Візуалізують методи.

Зручно мати загальний складний метод, а відмінності винести в змінні підлеглі методи. Цю ідею називають конструктивним поліморфізмом. Вона здійснюється за допомогою віртуальних підлеглих методів.

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

Щоб скористатися віртуальними методами, необхідно виконати наступні дії:

1. В описі об'єкта після заголовка віртуального методу додати слово virtual.

2. Заголовки віртуальних методів предка і нащадка повинні в точності збігатися, причому обидва методи повинні бути віртуальними.

3. Ініціалізація примірника об'єкта повинна виконуватися методом особливого виду, який називається конструктором:

Constructor <ім'я блоку> [(<перелік формальних параметрів>)];

Це різновид процедури. Явно записаних дій в ньому може і не бути, як і формальних параметрів.

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

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

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

Destructor <ім'я блоку> [(<список формальних параметрів>);



Попередня   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   Наступна

Вищої професійної освіти | Козлов Г. В., Смоляков В. Н. | Основні принципи структурного підходу | ПЕРЕДІСТОРІЯ об'єктно-орієнтованого ПРОГРАММИРОВАНИЯ | Тип Об'єкти | Uses graph; | довгі рядки | PChar (str); | масиви | With Record1 |

© um.co.ua - учбові матеріали та реферати