Описание тега inheritance

Наследование - это система в объектно-ориентированном программировании, которая позволяет объектам поддерживать операции, определенные предшествующими типами, без необходимости предоставлять собственное определение. Это главный вектор полиморфизма в объектно-ориентированном программировании.

Наследование - это основной метод, с помощью которого объектно-ориентированные системы обеспечивают полиморфизм.

Где класс Sub наследуется от другого класса (или другого объекта, как в Self или JavaScript) Base, Sub будет совместно использовать некоторые или все операции (возможно, включая доступ к данным и их хранение), предоставляемые Base. Обычно бывает так, чтоSub получит как минимум полный публичный интерфейс Base чтобы разрешить любой объект типа Sub стоять на месте предмета типа Base в любом коде, написанном для работы с объектами типа Base(см. принцип замещения Лискова).

Эта возможность ортогональна типу используемой системы типов, режиму привязки функций (поздно или рано), независимо от того, существует ли режим конфиденциальности, или действительно оценке (будь то ленивая или слабая).

Пример наследования на диаграмме UML:

https://stackru.com/images/80200e9fe62de4fcec16dc1985a8b67bf19f85bf.gif

См. Наследование в Википедии.