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

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

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

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

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

См. [D9] .