# Первый шаг к ООП в Python

Если вам нужен ООП, скорее всего, вам понадобится наследование. Прежде чем мы перейдем к наследованию, давайте обсудим, КОГДА нам следует использовать наследование.
Отношения «Есть-А»
- Собака - животное
- Автомобиль – это транспортное средство
- Квадрат – это фигура
Нам следует использовать наследование только в том случае, если существует связь Is-A, как в примерах выше.
- Собака – животное. Более конкретноеживотное. Таким образом, дочерний класс
Dogнаследуется от родительского классаAnimal. - Автомобиль – это транспортное средство. Более специфическоетранспортное средство. Таким образом, дочерний класс
Carнаследуется от родительского классаVehicle. - Квадрат – это фигура. Более конкретная форма. Таким образом, дочерний класс
Squareнаследуется от родительского классаShape.
Как запрограммировать наследование
# this is the parent class class Animal: pass # this is the child class class Dog(Animal): pass
Здесь мы сначала создаем класс Animal (это родительский класс).
Затем мы создаем дочерний класс Dog и передаем родительский класс Animal в круглых скобках после определения класса. Это означает, что Dog наследуется от Animal.
Наследование методов
Когда дочерний класс наследует родительский класс, все методы родительского класса передаются дочернему классу.
# this is the parent class
class Animal:
def talk(self):
print('I am an animal')
class Dog(Animal):
pass
dog = Dog()
dog.talk() # I am an animal
Здесь мы создаем родительский класс Animal с помощью простого метода talk.
Далее мы создаем дочерний класс Dog, который наследуется от Animal. Каждый метод из Animal будет передан в Dog. Вот почему мы можем вызвать метод talk внутри объекта Dog.
Переопределение унаследованных методов
Когда дочерний класс наследует родительский класс, он наследует все его методы. ЕСЛИ — дочерний класс переопределяет его.
# this is the parent class
class Animal:
def talk(self):
print('I am an animal')
def hello(self)…