Что такое множественное наследование в Python?

Наследование: наследование позволяет нам определить класс, который наследует все методы и свойства другого класса. Родительский класс — это наследуемый класс, также называемый базовым классом . Дочерний класс — это класс, который наследуется от другого класса, также называемого производным классом.

Типы наследования:

  • Одиночное наследование
  • Многоуровневое наследование
  • Множественное наследование
  • Многопутевое наследование
  • Иерархическое наследование
  • Гибридное наследование

Множественное наследование: Множественное наследование — это особенность некоторых объектно-ориентированных языков программирования, в которых объект или класс могут наследовать характеристики и возможности более чем одного родительского объекта или родительского класса .

Блок-схема множественного наследования

Синтаксис множественного наследования:

Класс Ba se1: Тело класса

Класс Base2: Тело класса

Класс, производный (Base1, Base2): Тело класса

Объяснение основы Блок-схема классов и производных классов

Некоторые примеры множественного наследования

 # Множественное наследование с использованием  два класса: class Отец (): def Вождение (сам): print («Отец любит водить») class Mother (): def Кулинария (сам): print («Мать любит готовить») class Ребенок (Отец, Мать): def  Игра (сам): print («Ребенок любит играть») c = Ребенок () c. Вождение () c. Готовка () c.Игра () 

Пояснение к коду:

Здесь отец и мать являются базовыми классами, где у нас есть два оператора печати и дочерний класс, содержащий все методы класса отца и матери.

Дочерний класс также известен как производный класс.

Мы создаем объект для дочернего класса, с помощью которого мы можем доступ к функциям отца, матери и ребенка.

 # Создание множественного наследования с использованием более двух классов. class Car (): def Benz (self): print ("Это автомобиль Benz") class Bike (): def Bmw (self): print ("This  это велосипед BMW ") class Bus (): def Volvo (self): print (" Это автобус Volvo ") class Truck (): def Eicher (self): print (" This is a Eicher Truck ") class Plane  (): def Indigo (self): print («Это самолет Индиго») class Transport (Car, Bike, Bus, Truck, Plane): def Main (self): print («Это основной класс») B  = Транспорт () Б. Бенз () B.Bmw () Б. Вольво () Б. Эйхер () Б.Индиго () Б. Главное () 

Объяснение кода:

Здесь у нас есть четыре класса с именами: Автомобиль, Велосипед, Автобус, Грузовик, Планета, которые называются базовыми классами. У нас также есть один производный класс Transport, который будет содержать все данные автомобиля, велосипеда, грузовика, самолета и транспорта.

Итак, вот почему мы будем создавать объект для производного класса, то есть Transportthrough, через который мы можем получить доступ ко всем данным базового и производного классов.

 # Выполнение сложения, умножения, деления с использованием множественного наследования.  a, b): вернуть a + b;  class Calculation2: def Умножение (self, a, b): return a * b;  class Derived (Calculation1, Calculation2): def Divide (self, a, b): return a/b;  d = Derived () print (d.Sumutation (1,2)) print (d.Multiplication (1,2)) print (d.Divide (1,2)) 

Объяснение кода :

Здесь, в приведенной выше программе, у нас есть три класса. Класс с Calculation1 и Calculation2 — это базовые классы , а класс с именем Derived — это комбинация классов Calculation1 и Calculation2.

Класс Calculation1 выполняет арифметическую операцию, а Calculation2 выполняет операцию умножения.

Теперь в классе Derived у нас есть и операция сложения, и операция умножения вместе с собственной операцией деления.

Вот как мы реализуем множественное наследование с использованием базовых и производных классов.

 # здесь начинается определение класса class Cars: # определение конструктора def __init __ (self, CarName, CarModel): self.name = CarName self.model = CarModel # определение методов класса def showName (self): print (self.  name) def showModel (self): print (self.Model) # конец определения класса # определение идентификаторов другого класса: def __init __ (self, CarId): self.CarId = CarId def getId (self): return self.CarId class  Main (Cars, Ids): # расширяет классы Cars и Ids def __init __ (self, name, model, id): Cars .__ init __ (self, name, model) Ids .__ init __ (self, id) # Создайте объект  подкласс Main1 = Main ('Swift', 500, '1') Main1.showName () print (Main1.getId ()) 

v>

Объяснение кода:

Классы Cars и Ids являются суперклассом, а Main — подклассом. Класс Main расширяет как Cars, так и Ids, чтобы наследовать свойства обоих классов. Пример легко понять, если вы знакомы с классами Python и наследованием Python.

 # Пример множественного наследования `class Student1: def __init __ (self): self.name = 'Nani' self.age = 19 def getName  (self): return self.name class Student2: def __init __ (self): self.name = 'Ram' self.id = '15' def getName (self): return self.name class Student (Student1, Student2): def  __init __ (self): Student1 .__ init __ (self) Student2 .__ init __ (self) def getName (self): return self.name Студенты1 = Студенты () print (Students1.getName ()) 

Плюсы и минусы множественного наследования значение:

Плюсы:

  1. Это позволяет классу унаследовать функциональность более чем одного базового класса; тем самым позволяя моделировать сложные отношения.

  2. Вы классифицируете классы по-разному. Множественное наследование — это способ показать нашу естественную склонность к организации мира. Например, во время анализа мы используем множественное наследование, чтобы зафиксировать способ, которым пользователи классифицируют объекты.

  3. Имея несколько суперклассов, ваш подкласс имеет больше возможностей для повторно использовать унаследованные атрибуты и операции суперклассов.

  4. Время разработки приложения меньше, а приложение занимает меньше памяти.

Минусы:

  1. Это может привести к большой путанице, когда два базовых класса реализуют метод с тем же именем.

  2. Чем больше суперклассов наследует ваш подкласс, тем больше обслуживания вы, вероятно, будете выполнять. Если произойдет изменение одного из суперклассов, возможно, придется изменить и подкласс.

Примеры множественного наследования в реальном времени:

  • Сохранение данных учащегося .
  • Заполнение налогов и применение вычетов.

Заключение: Надеюсь, вы получили четкое представление о том, что происходит под капотом и как вы можете воспользоваться преимуществом множественного наследования в своей программе и повседневной жизни.

Оцените статью
nanomode.ru
Добавить комментарий