Изучите наследование в Python на примерах
Python — это простой в освоении язык программирования, который поддерживает как процедурный, так и объектно-ориентированный подходы к программированию. В объектно-ориентированном программировании одной из таких концепций является наследование. Поскольку возможность повторного использования кода является сильной стороной наследования, она полезна в широком диапазоне приложений при работе с Python.
Что такое наследование?
Наследование относится к процессу передачи ошибок редкого класса в защитный класс. Это ТЯЖЕЛАЯ идея. Ниже приведены некоторые преимущества наследования.
- Возможность повторного использования кода — вместо того, чтобы писать один и тот же код снова и снова, мы можем просто наследовать свойства, которые нам нужны в дочернем классе.
- Он описывает реальные отношения между родительским и дочерним классами.
- Оно имеет переходный характер. Если дочерний класс наследует свойства родительского класса, то все подклассы дочернего класса также унаследуют свойства родительского класса.
Ниже приведен простой пример наследования в Python:
класс Животное(объект):
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
def __init__(я, имя, ноги):
self.name = имя
self.legs = ноги
защита getName (сам):
вернуть свое имя.
защита getLegs (сам):
вернуть себе.ноги
защита isMammal(self):
вернуть ложь
класс Млекопитающих(Животное):
защита isMammal(self):
вернуть истину
годы = Животное(“Ящерица”, 4)
print(ani.getName(), ani.getLegs(), ani.isMammal())
ани = Млекопитающее(“Собака”, 4)
print(ani.getName(), ani.getLegs(), ani.isMammal())
Выход
Ящерица 4 Ложь
Собака 4 Правда
Функцию родительского класса можно оценить с помощью объекта дочернего класса в предыдущей программе.
Подкласс
Подкласс — это процесс вызова функции Object() { (собственный код) } родительского класса путем упоминания имени родительского класса в объявлении дочернего класса. Подкласс — это то, как дочерний класс идентифицирует свой родительский класс.
функция инициализации
Каждый раз, когда класс используется для создания объекта, вызывается функция __init__(). Когда мы добавляем функцию __init__() в родительский класс, дочерний класс больше не сможет наследовать функцию __init__() от родительского класса. Функция __init__() дочернего класса переопределяет функцию __init__() родительского класса.
класс Животное:
def __init__(сам, звук):
self.sound = звук
защита Animal_sound (сам):
print('Звук животного ', self.sound)
p = Животное («Лук-Лук»)
p.animal_sound()
Выход
Звук животного — лук-лук.
Виды наследования
В Python существует четыре типа наследования в зависимости от количества задействованных дочерних и родительских классов.
Единое наследство
Когда только один родительский класс наследуется дочерним классом.
класс Животное:
Защитная функция1 (сам):
print(“Функция находится в родительском классе.”)
класс Собака(Животное):
Защитная функция2 (сам):
print(“Функция находится в дочернем классе.”)
объект = Собака()
объект.функция1()
объект.функция2()
Выход:
Функция находится в родительском классе.
Функция находится в дочернем классе.
Множественное наследование
Когда класс щита наследуется от нескольких редких классов.
класс Мобильный_Телефон:
mobile_name = “”
защита mobile_phone (сам):
печать (self.mobile_name)
класс ПК:
имя_компьютера = “”
защита ПК (сам):
печать (self.pc_name)
класс Планшет(Мобильный_Телефон, ПК):
функции защиты (собственные):
print(“Набор функций 1:”, self.mobile_name)
print(“Набор функций 2:”, self.pc_name)
f1 = Таблетка()
f1.mobile_name = “Samsung Note 7”
f1.pc_name = “ASUS Vivobook 3”
f1.features()
Выход:
Набор функций 1: Samsung Note 7
Набор функций 2: ASUS Vivobook 3
Многоуровневое наследование
Когда один дочерний класс берет на себя роль родительского класса для другого дочернего класса.
класс Старый_Компьютер:
def __init__(self, old_computername):
self.old_computername = старое_имя_компьютера
класс Retro_Computer(Old_Computer):
def __init__(self, Retro_computername, old_computername):
self.retro_computername = ретро_имя_компьютера
Old_Computer.__init__(self, имя_старого_компьютера)
класс New_Computer(Ретро_Компьютер):
def __init__(self, новое_имя_компьютера, ретро_имя_компьютера, старое_имя_компьютера):
self.new_computername = новое_имя_компьютера
Retro_Computer.__init__(self, ретро_имя_компьютера, старое_имя_компьютера)
защита display_name(self):
print('Старое имя компьютера:', self.old_computername)
print(“Имя ретро-компьютера:”, self.retro_computername)
print(“Новое имя компьютера:”, self.new_computername)
n1 = New_Computer('Машина Тьюринга', 'Мачинтош', 'HP Pavilion')
печать (n1.old_computername)
n1.display_name()
Выход:
Павильон HP
Старое имя компьютера: HP Pavilion.
Имя ретро-компьютера: Macintosh
Имя нового компьютера: Машина Тьюринга.
Hierаrсhiсаl Inheritаnсe
Множественное наследование от одного и того же базового или редкого класса называется иерархическим наследованием.
класс Животное:
Защитная функция1 (сам):
print(“Функция находится в родительском классе.”)
класс Собака(Животное):
Защитная функция2 (сам):
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)