Trong kế thừa đa mức, các tính năng của lớp cơ sở và lớp dẫn xuất được kế thừa vào lớp dẫn xuất mới
Cú pháp.
lớp cơ sở1.
nội dung của lớp cơ sở
lớp dẫn xuất1[ cơ sở1 ].
nội dung của lớp dẫn xuất
lớp dẫn xuất2[ dẫn xuất1 ].
nội dung của lớp dẫn xuất
Mã nguồn
# Multilevel Inheritance class GrandFather: def ownHouse[self]: print["Grandpa House"] class Father[GrandFather]: def ownBike[self]: print["Father's Bike"] class Son[Father]: def ownBook[self]: print["Son Have a Book"] o = Son[] o.ownHouse[] o.ownBike[] o.ownBook[]Để tải xuống tệp thô Bấm vào đây
đầu ra
Grandpa House Father's Bike Son Have a Book
Danh sách chương trình
Chương trình mẫu
Kết nối cơ sở dữ liệu Python
bình trăn
Hướng dẫn Python Tkinter
Trong ví dụ của chúng ta, lớp con kế thừa lớp cha. Lớp con có thể truy cập các phương thức và biến của lớp cha
Chúng ta đã định nghĩa một đối tượng cho lớp con và truy cập các phương thức của lớp cha trong chương trình trên
Kế thừa đa cấp
Trong ví dụ trước, chúng ta kế thừa lớp cha. Ví dụ này là một cấp độ kế thừa
Nếu chúng ta kế thừa lớp nhiều hơn một cấp. Chúng tôi gọi là kế thừa đa cấp
Ví dụ được đưa ra dưới đây
class parent:
def f[self]:
print["parent class f method"]
def f1[self]:
print["parent class f1 method"]
class child[parent]:
def f2[self]:
print["child class f2 method"]
class grandchild[child]:
def f5[self]:
print["this is grand child f5 method"]
ob1=grandchild[]
ob1.f5[]
ob1.f2[]
ob1.f1[]
ob1.f[]
Trong chương trình trên, lớp con kế thừa lớp cha và lớp cháu kế thừa lớp con
Lớp cháu đang có hai mức thừa kế. Nó có thể truy cập các thành viên trong lớp con và lớp cha
Chương trình trên là một ví dụ về kế thừa đa cấp
Đa thừa kế
Lấy một ví dụ và hiểu nhiều kế thừa
class a:
def f1[self]:
print["This is class a f1 method"]
class b:
def f2[self]:
print["This is class b f2 method"]
class c[a,b]:
def f5[self]:
print["This is class c f5 method"]
ob1 = c[]
ob1.f1[]
ob1.f2[]
ob1.f5[]
Trong chương trình trên, chúng ta có một lớp a và trong lớp a, chúng ta có một phương thức f1
Chúng tôi đã có lớp b. Trong lớp b, chúng tôi đã có một phương thức f2
Lớp c đang kế thừa cả lớp a và lớp b. loại thừa kế này chúng tôi gọi là đa thừa kế
- Kế thừa đa cấp cũng có thể thực hiện được trong Python không giống như các ngôn ngữ lập trình khác
- Bạn có thể kế thừa một lớp dẫn xuất từ một lớp dẫn xuất khác
- Điều này được gọi là kế thừa đa cấp. Trong Python, kế thừa đa cấp có thể được thực hiện ở bất kỳ độ sâu nào
- Một ví dụ với trực quan hóa tương ứng được đưa ra dưới đây
class Base:
pass
class Derived1[Base]:
pass
class Derived2[Derived1]:
pass
Ví dụ. 1 Kế thừa đa cấp Python
#!/usr/bin/evn python
# Define a class as 'student'
class student:
# Method
def getStudent[self]:
self.name = input["Name: "]
self.age = input["Age: "]
self.gender = input["Gender: "]
# Define a class as 'test' and inherit base class 'student'
class test[student]:
# Method
def getMarks[self]:
self.stuClass = input["Class: "]
print["Enter the marks of the respective subjects"]
self.literature = int[input["Literature: "]]
self.math = int[input["Math: "]]
self.biology = int[input["Biology: "]]
self.physics = int[input["Physics: "]]
# Define a class as 'marks' and inherit derived class 'test'
class marks[test]:
# Method
def display[self]:
print["\n\nName: ",self.name]
print["Age: ",self.age]
print["Gender: ",self.gender]
print["Study in: ",self.stuClass]
print["Total Marks: ", self.literature + self.math + self.biology + self.physics]
m1 = marks[]
# Call base class method 'getStudent[]'
m1.getStudent[]
# Call first derived class method 'getMarks[]'
m1.getMarks[]
# Call second derived class method 'display[]'
m1.display[]
Name: James
Age: 16
Gender: Male
Class: 10th
Enter the marks of the respective subjects
Literature: 50
Math: 60
Biology: 55
Physics: 46
Name: James
Age: 16
Gender: Male
Study in: 10th
Total Marks: 211
Ví dụ2. Kế thừa đa cấp Python
class Animal:
def eat[self]:
print 'Eating...'
class Dog[Animal]:
def bark[self]:
print 'Barking...'
class BabyDog[Dog]:
def weep[self]:
print 'Weeping...'
d=BabyDog[]
d.eat[]
d.bark[]
d.weep[]
________số 8