Python наследование

В этой части учебника вы прочитаете ООП наследование в Python, это пожалуй одна из самых важных тем в ООП программирование.

Python ООП наследование:

Для того чтобы реализовать в Python наследование, нужно просто в скобках указать класс, от которого вы наследуете.

Вот вам сразу же наглядный пример наследования:

Здесь в начале мы создаём класс Car, от которого будем наследовать класс Truck, я не буду описывать его работу, так как это делали в предыдущих частях, если чего то не понимаете, то посмотрите их.

Потом создаём класс Truck, который унаследовали от класса Car, и в нём создаём метод shipment(), который выводит в терминал текст «Погрузка товаров».

Последние создаём объект truct, класса Truck, и можете заметить что при создание, мы назначаем такие же атрибуты, как и если бы мы создавали объект от класса Car.

Так происходит благодаря тому, что мы унаследовали Truck от Car, а дочерний класс он имеет все свойства и методы родительского, даже конструктор.

После мы вызываем метод shipment(), и вот что должно вывестись в консоль:

python ооп наследование

Как видите в начале у нас сработал конструктор как в Car, вывел свойства, потом мы уже вызвали метод shipment(), и он вывел надпись.

Примечание:

Если вы попробуете вызвать  метод shipment(), но в используя объект класса Car, то у вас будет ошибка, так как этого метода нет в этом классе.

Наследование конструктора Python:

Проблема прошлой программы в том, что мы не наследуем конструктор, что если нам надо добавить новое свойство, и при этом полностью его не переписывать.

Для этого вы можете унаследовать конструктор родительского класса, через функцию super().

Вот как это делается:

Тут мы передаём в конструктор все атрибуты для конструктора родителя и для нового нашего свойства lifting_capacity, которое отвечает за грузоподъёмность.

Для вызова конструктора Car, мы используем super(), как вы тоже можете заметить.

Также похожем образом мы дополняем метод show_properties(), для класса Truck, мы там также вызываем метод родителя и еще выводим новое свойство.

Ещё надо немного изменить что main():

Вы наверное уже заметили, что тут мы добавили при создание ещё один атрибут, это как раз тот, которым мы назначаем свойство lifting_capacity, после мы вызываем методы show_properties() и shipment().

Важно:

Нужно ещё обязательно убрать из конструктора родителя Car, вызов метода show_properties(), так как, там нету  свойства lifting_capacity, из-за этого может возникнуть ошибка.

Вот что у нас в итоге должно вывестись в консоль:

наследование конструктора python

Всё вывелось как надо, если же вам не надо дополнять родительский метод, а просто хотите его изменить полностью, то тогда не используете super() и впишите в него чего нужно.

Вывод:

В этой части учебника вы прочитали про ООП наследование в Python, думаю вам было очень полезно, также это не единственная часть про это, будет ещё много, так как эта тема очень обширная, тут были только основы.

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Поделится:

Дополнительно:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *