Изучите полиморфизм в Python на примерах
Python — это язык сценариев, который легко читается, является интерактивным, высокоуровневым, объектно-ориентированным и интерпретируемым. В Python меньше синтаксических структур, чем в других языках программирования, и вместо знаков препинания он обычно использует английские термины.
Основные особенности Python включают в себя:
- Язык, удобный для начинающих. Python легко изучать, поддерживать, внедрять и читать. Он носит интерактивный характер.
- Объектно-ориентированный. Python инкапсулирует код внутри объектов, поддерживая подход или стиль объектно-ориентированного программирования.
- Отраслевая ориентация. Python является расширяемым, портативным, масштабируемым, кроссплатформенным, имеет стандартную библиотеку и поддерживает приложения с графическим интерфейсом и интерактивный режим.
Что такое полиморфизм в Python?
В Python полиморфизмы относятся к появлению чего-либо в нескольких формах. В рамках полиморфизма дочерний класс Python имеет методы с тем же именем, что и метод родительского класса. Это важная часть программирования. Один тип сущности используется для представления множества типов в разных контекстах (методы, операторы, объекты и т. д.).
Полиморфизм может использоваться в Python по-разному. Полиморфизм можно определить с помощью многочисленных функций, методов класса и объектов. Итак, давайте углубимся в каждый из этих способов.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Узнайте больше о Python и науке о данных в нашей программе последипломного образования Калифорнийского технологического института в области науки о данных.
Полиморфизм с функцией и объектами
Чтобы вызвать полиморфизм с помощью функции, нам нужно создать такую функцию, которая может принимать любой объект. Вот пример полиморфизма с использованием функций и объектов:
Код
класс Собака():
защита Animal_kingdom (я):
печать(“Млекопитающее”)
защита ног (сам):
печать(“Четыре”)
класс Ящерица():
защита Animal_kingdom (я):
печать(“Млекопитающее”)
защита ног (сам):
печать(“Четыре”)
Защитная функция1 (объект):
obj.animal_kingdom()
объект.ноги()
obj_dog = Собака()
obj_lizard = Ящерица()
функция1 (obj_dog)
функция1 (obj_lizard)
Выход
млекопитающее
Четыре
млекопитающее
Четыре
В приведенном выше примере функция function1() принимает объект с именем obj, что, в свою очередь, позволяет функциям вызывать методы Animal_kingdom() и Legs() обоих классов Dog и Lizard. Для этого мы должны создать экземпляры обоих классов.
Полиморфизм с методами класса
Давайте обсудим, как реализовать полиморфизм в Python с использованием методов класса.
Точно так же Python использует два отдельных типа классов. Для этого мы создаем цикл for, который перебирает кортеж элементов. После этого нам нужно выполнить вызов метода без учета типа класса каждого объекта. Мы считаем само собой разумеющимся, что эти методы существуют в каждом из классов.
Прекрасный пример, изображающий полиморфизм с помощью методов класса с использованием Python:
Код
класс Автомобиль():
колеса защиты (собственные):
распечатать(4)
def mode_of_transport(self):
print(“Обычно личное”)
класс Автобус():
колеса защиты (собственные):
распечатать(8)
def mode_of_transport(self):
print(“Обычно публично”)
obj_car = Автомобиль()
obj_bus = Автобус()
для автомобиля в (obj_car, obj_bus):
автомобиль.колеса()
автомобиль.mode_of_transport()
Выход
4
Частное обычно
8
Обычно публично
В приведенном выше примере методы классовwheel(), mode_of_transport(), принадлежащие классам Car и Bus, вызываются напрямую с использованием экземпляров этих двух классов в цикле for, который проходит через оба метода класса.
Полиморфизм с наследованием
Полиморфизм: метод дочернего класса может иметь то же имя, что и методы класса в родительском классе. При наследовании методы, принадлежащие родительскому классу, передаются дочернему классу. Также возможно изменить метод, который дочерний класс унаследовал от своего родителя.
Обычно это используется всякий раз, когда унаследованный метод родительского класса не подходит для дочернего класса. Чтобы исправить эту ситуацию, мы используем переопределение метода, которое позволяет повторно реализовать метод в дочернем классе.
Что такое переопределение метода?
Переопределение метода — это метод объектно-ориентированного программирования, который позволяет нам изменять реализацию функции родительского класса в дочернем классе. Переопределение метода — это, по сути, способность дочернего класса реализовывать изменения в любом методе, заданном одним из его родительских классов.
Условия переопределения метода:
- Должно быть наследование. Внутри класса переопределение функций невозможно, поэтому дочерний класс является производным от родительского класса.
- Функция дочернего класса должна иметь такое же количество параметров, как и функция родительского класса.
Мы знаем, что при наследовании дочерний класс получает доступ к защищенным и открытым методам и переменным родительского класса всякий раз, когда он его наследует. Мы также используем эту концепцию для реализации полиморфизма с использованием наследования.
Прекрасным примером переопределения метода и полиморфизма с наследованием является:
Код
класс транспортного средства:
описание по умолчанию (сам):
print(“Так много категорий транспортных средств”)
колеса защиты (собственные):
print(“Зависит от категории автомобиля”)
класс автомобиля(транспортного средства):
колеса защиты (собственные):
распечатать(4)
класс автобус(Транспортное средство):
колесо защиты (самостоятельное):
распечатать(8)
obj_vehicle = Транспортное средство()
obj_car = автомобиль()
obj_bus = автобус()
obj_vehicle.desc()
obj_vehicle.wheels()
obj_car.desc()
obj_car.wheels()
obj_bus.desc()
obj_bus.wheels()
Выход
Так много категорий транспортных средств
Различается в зависимости от категории автомобиля
Так много категорий транспортных средств
4
Так много категорий транспортных средств
Различается в зависимости от категории автомобиля
Освойте Python и науку о данных с помощью Simplelearn
В этой статье мы обсудили полиморфизм и его различные типы в Python. Полиморфизм является очень важной концепцией ООП и имеет несколько реальных применений в Python или любых других языках программирования, связанных с ООП.
При наличии соответствующей практики, примеров и глубокого погружения можно освоить любую концепцию, связанную с Python и/или ООП. Для этого мы рекомендуем ознакомиться с нашей программой последипломного образования Калифорнийского технологического института в области науки о данных, чтобы по-настоящему овладеть Python и наукой о данных.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)