Наследование в Python – это механизм, позволяющий создавать новые классы (дочерние или подклассы) на основе уже существующих (родительских или базовых классов). Дочерний класс наследует атрибуты (переменные) и методы родительского класса, что способствует повторному использованию кода и построению иерархических структур.
Основные преимущества наследования:
Пример:
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
print("Животное издает звук")
class Dog(Animal):
def speak(self):
print("Гав!")
class Cat(Animal):
def speak(self):
print("Мяу!")
my_dog = Dog("Бобик")
my_cat = Cat("Мурка")
my_dog.speak() # Вывод: Гав!
my_cat.speak() # Вывод: Мяу!
В этом примере Dog
и Cat
наследуются от Animal
. Они переопределяют метод speak()
, чтобы выводить свои собственные звуки. Dog
и Cat
имеют доступ к атрибуту name
, унаследованному от Animal
.
Типы наследования в Python:
Метод super()
:
Метод super()
используется для вызова методов родительского класса из дочернего класса. Он особенно полезен при переопределении методов, когда необходимо выполнить код родительского класса, а затем добавить свою собственную логику.
В заключение, наследование является мощным инструментом объектно-ориентированного программирования в Python, который способствует повторному использованию кода, расширяемости и созданию иерархических структур классов.