Наследование - что и как?
Термин наследование старше, чем компьютерное программирование, и он описывает обычную практику передачи различного имущества от одного человека другому после смерти первого человека. Термин в том случае, когда он связан с компьютерным программированием, имеет совершенно другое значение.
Давайте определим термин для наших целей:
Наследование - это распространенная практика (в объектном программировании) передачи атрибутов и методов из суперкласса (определенного и существующего) во вновь созданный класс, называемый подклассом.
Другими словами, наследование - это способ создания нового класса не с нуля, а с использованием уже определенного набора признаков. Новый класс наследует (и это ключевая особенность) все уже существующее оборудование, но можно добавить несколько новых, если это необходимо.
Благодаря этому можно создавать более специализированные (более конкретные) классы, используя некоторые наборы предопределенных общих правил и поведения.
Наиболее важным фактором процесса является отношение между суперклассом и всеми его подклассами (примечание: если B является подклассом A и C является подклассом B, это также означает, что C является подклассом A, так как отношение полностью транзитивно).
Очень простой пример двухуровневого наследования представлен здесь:
class Vehicle:
pass
class LandVehicle(Vehicle):
pass
class TrackedVehicle(LandVehicle):
pass
Все представленные классы пока пусты, так как мы собираемся показать Вам, как работают взаимоотношения между супер- и подклассами. Мы скоро наполним их содержанием.
Мы можем сказать, что:
- Класс
Vehicle
- суперкласс для обоих классовLandVehicle
иTrackedVehicle
; - Класс
LandVehicle
- подклассVehicle
и суперкласс дляTrackedVehicle
; - Класс
TrackedVehicle
- подкласс обоих классовVehicle
иLandVehicle
.
Приведенные выше знания получены при чтении кода (другими словами, мы знаем это, потому что видим его).
Знает ли это Python? Можно ли спросить его об этом? Да, можно.