PDA

Просмотр полной версии : Основные аспекты полиморфизма в C++



Zaracryqeebduk
08.12.2013, 18:46
Доброго времени суток.Сколько я не читал книг и уроков по С++-программированию, я так и не смог понять что такое полиморфизм.Можно ли как-то просто и доступно объяснить что такое полиморфизм, как его использовать, зачем, когда его лучше избегать?

Detpitisus
08.12.2013, 18:56
Просто и доступно. На примере геометрических фигур.Есть базовый класс "фигура". У него определен виртуальный метод (например: "Отобразить").Наследуем от этого класса (например: треугольник) и переопределяем метод "Отобразить".Таким образом в итоге получится несколько различных классов (напр: круг, квадрат, треугольник), у каждого из которых будет переопределен метод "Отобразить".

Krinjaixter
08.12.2013, 19:04
Zaracryqeebduk,
Полиморфизм - это способ управления сходными объектами: общие свойства выделяются, частные игнорируются.Если, например, в отделе работают трое: Иванов, Петров и Сидоров, то с точки зрения начальника, у него есть три Исполнителя, к любому их которых можно обратиться с командой Исполнить. Однако, результаты исполнения могут (или должны) при этом различаться.Скажем, если Исполнитель - это артист, выступающий на концерте с сольным номером, то, по команде Исполнить, один исполнит скрипичный концерт, другой споет, а третий поскачет вприсядку.
Полиморфизм в C++ (http://program-guide.ru/article/с-plus-plus/polimorfizm-v-c.html)