Описание тега inheritance
Наследование - это основной метод, с помощью которого объектно-ориентированные системы обеспечивают полиморфизм.
Где класс Sub
наследуется от другого класса (или другого объекта, как в Self или JavaScript) Base
, Sub
будет совместно использовать некоторые или все операции (возможно, включая доступ к данным и их хранение), предоставляемые Base
. Обычно бывает так, чтоSub
получит как минимум полный публичный интерфейс Base
чтобы разрешить любой объект типа Sub
стоять на месте предмета типа Base
в любом коде, написанном для работы с объектами типа Base
(см. принцип замещения Лискова).
Эта возможность ортогональна типу используемой системы типов, режиму привязки функций (поздно или рано), независимо от того, существует ли режим конфиденциальности, или действительно оценке (будь то ленивая или слабая).
Пример наследования на диаграмме UML:
https://stackru.com/images/80200e9fe62de4fcec16dc1985a8b67bf19f85bf.gif