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