# Первый шаг к ООП в 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)…