Hướng dẫn real time example of multiple inheritance in python - ví dụ thời gian thực về đa kế thừa trong python

Kế thừa: Kế thừa cho phép chúng ta xác định một lớp kế thừa tất cả các phương thức và thuộc tính từ một lớp khác. Lớp cha là lớp được kế thừa, còn được gọi là base class. Lớp trẻ là lớp kế thừa từ một lớp khác, còn được gọi là derived class. Inheritance allows us to define a class that inherits all the methods and properties from another class. The Parent class is the class being inherited from, also called base class. The Child class is the class that inherits from another class, also called derived class.

Các loại kế thừa:

  • Thừa kế duy nhất
  • Thừa kế đa cấp
  • Nhiều kế thừa
  • Di truyền đa đường
  • Di truyền phân cấp
  • Di truyền lai

Nhiều kế thừa: Nhiều kế thừa là một tính năng của một số ngôn ngữ lập trình máy tính hướng đối tượng trong đó một đối tượng hoặc lớp có thể kế thừa các đặc điểm và tính năng từ nhiều hơn one parent object or the parent class . Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit characteristics and features from more than one parent object or the parent class .

Cú pháp của nhiều kế thừa:

Lớp cơ sở1: Cơ thể của lớp

Lớp cơ sở2: Cơ thể của lớp

Lớp học có nguồn gốc (Base1, Base2): Cơ thể của lớp

Một số ví dụ về nhiều kế thừa

# Multiple Inheritance using two classes:

class Father():

def Driving(self):

print("Father Enjoys Driving")

class Mother():

def Cooking(self):

print("Mother Enjoys Cooking")

class Child(Father, Mother):

def Playing(self):

print("Child Loves Playing")

c = Child()

c.Driving()

c.Cooking()

c.Playing()

Giải thích về mã:

Ở đây, cha và mẹ là những lớp cơ sở nơi chúng tôi có hai câu in và một lớp con chứa tất cả các phương pháp của lớp cha và mẹ.

Lớp trẻ em còn được gọi là lớp dẫn xuất.

Chúng tôi đang tạo ra đối tượng cho lớp con mà qua đó chúng tôi có thể truy cập các chức năng của cha, mẹ và con.

# Creating a multiple inheritance using more than two classes.

class Car():

def Benz(self):

print(" This is a Benz Car ")

class Bike():

def Bmw(self):

print(" This is a BMW Bike ")

class Bus():

def Volvo(self):

print(" This is a Volvo Bus ")

class Truck():

def Eicher(self):

print(" This is a Eicher Truck ")

class Plane():

def Indigo(self):

print(" This is a Indigo plane ")

class Transport(Car,Bike,Bus,Truck,Plane):

def Main(self):

print("This is the Main Class")

B=Transport()

B.Benz()

B.Bmw()

B.Volvo()

B.Eicher()

B.Indigo()

B.Main()

Giải thích về mã:

Ở đây chúng tôi có bốn lớp có tên, xe hơi, xe đạp, xe buýt, xe tải, máy bay được gọi là các lớp cơ sở. Chúng tôi cũng có một chiếc Hat TWIL vận chuyển có nguồn gốc từ việc giữ tất cả dữ liệu của xe, xe đạp, xe tải, máy bay và vận chuyển.

Vì vậy, đó là lý do tại sao chúng ta sẽ tạo đối tượng cho lớp dẫn xuất, tức là, việc vận chuyển mà chúng ta có thể truy cập tất cả dữ liệu của lớp cơ sở và lớp dẫn xuất.

# Performing Addition,Multiplication,Division using Multiple Inheritance

class Calculation1:

def Summation(self,a,b):

return a+b;

class Calculation2:

def Multiplication(self,a,b):

return a*b;

class Derived(Calculation1,Calculation2):

def Divide(self,a,b):

return a/b;

d = Derived()

print(d.Summation(1,2))

print(d.Multiplication(1,2))

print(d.Divide(1,2))

Giải thích về mã::

Ở đây chúng tôi có bốn lớp có tên, xe hơi, xe đạp, xe buýt, xe tải, máy bay được gọi là các lớp cơ sở. Chúng tôi cũng có một chiếc Hat TWIL vận chuyển có nguồn gốc từ việc giữ tất cả dữ liệu của xe, xe đạp, xe tải, máy bay và vận chuyển.

Vì vậy, đó là lý do tại sao chúng ta sẽ tạo đối tượng cho lớp dẫn xuất, tức là, việc vận chuyển mà chúng ta có thể truy cập tất cả dữ liệu của lớp cơ sở và lớp dẫn xuất.

Ở đây, trong chương trình trên, chúng tôi có ba lớp. Lớp có tính toán1 và tính toán2 là Base classes và lớp có tên Derived là sự kết hợp của các lớp tính toán1 và tính toán2.

Lớp tính toán1 thực hiện hoạt động số học và tính toán2 thực hiện hoạt động nhân.

# definition of the class starts here

class Cars:

# defining constructor

def __init__(self, CarName, CarModel):

self.name = CarName

self.model = CarModel

# defining class methods

def showName(self):

print(self.name)

def showModel(self):

print(self.Model)

# end of class definition

# defining another class

class Ids:

def __init__(self, CarId):

self.CarId = CarId

def getId(self):

return self.CarId

class Main(Cars, Ids): # extends both Cars and Ids class

def __init__(self, name, model, id):

Cars.__init__(self, name, model)

Ids.__init__(self, id)

# Create an object of the subclass

Main1 = Main('Swift', 500, '1')

Main1.showName()

print(Main1.getId())

Giải thích về mã:

Ở đây chúng tôi có bốn lớp có tên, xe hơi, xe đạp, xe buýt, xe tải, máy bay được gọi là các lớp cơ sở. Chúng tôi cũng có một chiếc Hat TWIL vận chuyển có nguồn gốc từ việc giữ tất cả dữ liệu của xe, xe đạp, xe tải, máy bay và vận chuyển.

# Example on Multiple Inheritance `

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 Students(Student1,Student2):

def __init__(self):

Student1.__init__(self)

Student2.__init__(self)

def getName(self):

return self.name

Students1 = Students()

print(Students1.getName())

Vì vậy, đó là lý do tại sao chúng ta sẽ tạo đối tượng cho lớp dẫn xuất, tức là, việc vận chuyển mà chúng ta có thể truy cập tất cả dữ liệu của lớp cơ sở và lớp dẫn xuất.

Pros:

  1. Ở đây, trong chương trình trên, chúng tôi có ba lớp. Lớp có tính toán1 và tính toán2 là Base classes và lớp có tên Derived là sự kết hợp của các lớp tính toán1 và tính toán2.

  2. Lớp tính toán1 thực hiện hoạt động số học và tính toán2 thực hiện hoạt động nhân.

  3. Bây giờ, trong lớp dẫn xuất, chúng tôi có cả hoạt động bổ sung và nhân cùng với bộ phận hoạt động riêng của nó.

  4. Đây là cách chúng tôi thực hiện nhiều kế thừa bằng các lớp cơ sở và có nguồn gốc.

Cons:

  1. Các lớp xe và ID là siêu lớp và chính là lớp con. Lớp chính mở rộng cả xe hơi và ID để kế thừa các thuộc tính của cả hai lớp. Ví dụ rất dễ hiểu nếu bạn có một số kiến ​​thức về các lớp Python và kế thừa Python.

  2. Ưu và nhược điểm của nhiều kế thừa:

Nó cho phép một lớp kế thừa chức năng của nhiều lớp cơ sở; do đó cho phép mô hình hóa các mối quan hệ phức tạp.

  • Bạn phân loại các lớp theo nhiều cách khác nhau. Nhiều kế thừa là một cách thể hiện xu hướng tự nhiên của chúng ta để tổ chức thế giới. Ví dụ, trong quá trình phân tích, chúng tôi sử dụng nhiều kế thừa để nắm bắt cách người dùng phân loại các đối tượng.
  • Bằng cách có nhiều siêu lớp, lớp con của bạn có nhiều cơ hội hơn để

    # Creating a multiple inheritance using more than two classes.

    class Car():

    def Benz(self):

    print(" This is a Benz Car ")

    class Bike():

    def Bmw(self):

    print(" This is a BMW Bike ")

    class Bus():

    def Volvo(self):

    print(" This is a Volvo Bus ")

    class Truck():

    def Eicher(self):

    print(" This is a Eicher Truck ")

    class Plane():

    def Indigo(self):

    print(" This is a Indigo plane ")

    class Transport(Car,Bike,Bus,Truck,Plane):

    def Main(self):

    print("This is the Main Class")

    B=Transport()

    B.Benz()

    B.Bmw()

    B.Volvo()

    B.Eicher()

    B.Indigo()

    B.Main()

    0 các thuộc tính và hoạt động được kế thừa của các lớp học.

Thời gian phát triển ứng dụng là ít hơn và ứng dụng mất ít bộ nhớ hơn. I Hope you got a clear understanding of what happens under the hood and how you can take the advantage of multiple inheritance in your program and daily life.

Ví dụ thời gian thực của nhiều kế thừa là gì?

Cha mẹ là một ví dụ tốt về nhiều kế thừa. Mỗi đứa trẻ có hai cha mẹ, đó chỉ là như vậy.. Each child has two parents—that's just the way it is.

Nhiều kế thừa giải thích với một ví dụ trong Python là gì?

Khi một lớp có nguồn gốc từ nhiều lớp cơ sở, nó được gọi là nhiều kế thừa.Lớp dẫn xuất kế thừa tất cả các tính năng của trường hợp cơ sở. it is called multiple Inheritance. The derived class inherits all the features of the base case.

Kế thừa với ví dụ thời gian thực trong Python là gì?

Kế thừa trong Python, hãy hiểu rõ hơn về khái niệm thừa kế Python thông qua một ví dụ.Giả sử có tồn tại một lớp học trái cây, và bạn xuất phát từ nó để tạo ra một lớp mới có tên là Apple Apple.Mối quan hệ đơn giản giữa hai lớp nói rằng Apple Apple là một loại trái cây.Let's say there exists a class “Fruit”, and you derive from it to create a new class called “Apple”. The simple relationship between the two classes says that “Apple” is a “Fruit”.

Một ví dụ điển hình của thừa kế là gì?

Kế thừa là một cơ chế trong đó một lớp có được thuộc tính của một lớp khác.Ví dụ, một đứa trẻ thừa hưởng những đặc điểm của cha mẹ mình.Với sự kế thừa, chúng ta có thể sử dụng lại các trường và phương thức của lớp hiện có.Do đó, kế thừa tạo điều kiện cho khả năng tái sử dụng và là một khái niệm quan trọng của OOPS.a child inherits the traits of his/her parents. With inheritance, we can reuse the fields and methods of the existing class. Hence, inheritance facilitates Reusability and is an important concept of OOPs.