+
|
|
Общие типы (шаблоны)
|
|
+
|
|
|
Поддержка нитей
|
+
|
|
+
|
|
Обработка сообщений
|
+
|
|
|
|
Встроенный ассемблер
|
+
|
В некоторых реализациях
|
+
|
|
Inline функции
|
|
+
|
|
|
Пакеты
|
+
|
|
+
|
|
Друзья класса
|
Модульная видимость
|
+
|
Пакетная видимость
|
|
Тут видны
некоторые особенности, которые не очевидны на первый взгляд. Что же такое
динамические методы? Сразу стоит оговориться - это модификатор способа вызова
метода, и по этому его сразу надо поставить в один ряд с другими способами
вызова методов - статическими, виртуальными и репредставительными. Чем же они
отличаются и когда они нужны?
Статические
методы (их аналог в Java - final, финальные) являются не перегружаемыми методами, их функциональность
окончательна, например конструктор Create класса TObject - он пуст и никакой дополнительной деятельности не
несет, по этому вызов этого метода не полиморфен. По этому, если вы хотите
перегрузить статический метод, то Вам придется заново описывать всю его
функциональность.
Виртуальные
методы это методы, которые позволяют формировать цепочки полиморфных вызовов
посредством статического связывания через таблицу виртуальных методов VMT. Это
выгладит приблизительно так: