русс | укр

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

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


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


Виклик статичних методів


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


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

При поверненні метод повинен видалити параметр Self зі стеку так само, як він це робить зі звичайними параметрами. Методи завжди використовують далекий тип виклику незалежно від директиви $F компілятора.

 

Виклик віртуальних методів

Для виклику віртуального методу компілятор генерує код, який вибирає адресу таблиці віртуальних методів об’єкту і потім викликає метод, використовуючи зв’язану з ним точку входу. Послідовність дій при цьому буде такою: передача параметра Self, встановлення зміщення VMT з поля VMT, виклик відповідного методу через інструкцію Call з врахуванням зміщення.

 


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


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