русс | укр

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

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


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


Функції роботи з таблицею віртуальних методів


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


Для безпосередньої роботи з VMT використовуються дві функції:

Function SizeOf(Obj):Word;

 

Function TypeOf(Obj):Pointer;

 

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

Крім того, Pascal надає нову стандартну функцію TypeOf, що повертає вказівник на таблицю віртуальних методів об’єктного типу. Функція TypeOf приймає єдиний параметр, який може бути ідентифікатором об’єктного типу або екземпляром об’єктного типу. В обох випадках результат типу Pointer є вказівником на таблицю віртуальних методів об’єктного типу. TypeOf може застосовуватися лише до об’єктних типів, що мають VMT. Застосування цієї функції до інших типів призведе до помилки.

Функція TypeOf може використовуватися для перевірки фактичного типу екземпляра. Наприклад:

If TypeOf(Self)=TypeOf(TStudent) then…

 


<== попередня лекція | наступна лекція ==>
Таблиця віртуальних методів | Таблиця динамічних методів


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