Play IT

ООП — полиморфизм

Интерактивное демо «ООП — полиморфизм» — раздел Энциклопедия · Код и разработка.

code-devencyclopedia

Полиморфизм: переопределение, единый интерфейс и перегрузка

Как в примерах из статьи — Животное/Кот/Собака, Фигура/Круг/Прямоугольник и перегрузка сложить()

Переменная типа Животное ссылается на Кот или Собаку — при вызове издатьЗвук() срабатывает реализация фактического типа.

class Животное
издатьЗвук()

Животное издаёт звук.

▼ extends
class Кот : Животное
издатьЗвук()override

Мяу!

Тип переменной — Животное, фактический объект — Кот. Вызов метода идёт по реальному типу.

Животное кот = new Кот();
Полиморфный цикл

Животное[] зоопарк = { new Кот(), new Собака(), new Кот() }