logo
4 семестр

Полиморфизм и виртуальные методы.

Полиморфизм - обеспечивает возможность задания различных реализаций некоторого единого по названию метода для классов различных уровней иерархий. В ООП такой полиморфизм называется простым, а методы имеющие одинаковое название статическими полиморфными.

Конкретные механизмы реализации полиморфизма:

1. Чистый полиморфизм – один код функции по разному интерпретируется в зависимости от типов аргумент:

2. Перезагрузка – определение нескольких функций с одним именем (С++);

3. Переопределение (простой полиморфизм) – конкретный метод определяется телом объекта при компиляции программы (ранее связывание).

4. Полиморфные объекты (сложный полиморфизм) – конкретный метод определяется топим объекта в процессе выполнения программы (позже связывание).

5. Обобщение функции (шаблоны) – используются при реализации в языке параметризованных классов (С++).

Виртуальные методы

Методы для которых должно реализовываться позднее связывание называются виртуальные и описываются словом virtual.

Реализация механизма позднего связывания осуществляется с использованием специальной таблицы, таблицы виртуальных методов (ТВМ).