русс | укр

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

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


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


Динамічні методи


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


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

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

FUNCTION GetName:String;VIRTUAL 5;

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

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

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

 


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


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