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ế
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
Kế thừa đa cấp trong lập trình [nói chung trong chương trình hướng đối tượng]. Khi một lớp cơ sở được dẫn xuất bởi một lớp dẫn xuất được dẫn xuất bởi một lớp khác, thì nó được gọi là kế thừa đa cấp
Sơ đồ dưới đây sẽ làm cho mọi thứ rõ ràng hơn,
Tất cả các Lớp & phương thức được sử dụng trong chương trình.
- Lớp. Sinh viên
- Phương pháp. getStudentInfo[]. lấy số và tên của học sinh từ người dùng
- Phương pháp. printStudentInfo[]. in số học sinh và tên
- Lớp. bsc
- Phương pháp. getBsc[]. lấy điểm của sinh viên từ người dùng
- Phương pháp. putPerks[]. in điểm của học sinh
- Phương pháp. calcTotalMarks[]. trả về tổng số điểm
- Lớp. Kết quả
- Phương pháp. getResult[]. lấy thông tin của học sinh và tính tổng điểm
- Phương pháp. inKết quả[]. bản in thông tin sinh viên
Chương trình minh họa kế thừa đa cấp trong Python
class Student: def getStudentInfo[self]: self.__rollno=input["Enter Roll Number: "] self.__name=input["Enter Name: "] def printStudentInfo[self]: print["Roll Number : ", self.__rollno, "Name : ", self.__name] class Bsc[Student]: def getBsc[self]: self.getStudentInfo[] self.__p = int[input["Enter Physics Marks: "]] self.__c = int[input["Enter Chem Marks: "]] self.__m = int[input["Enter Maths Marks: "]] def printBsc[self]: self.printStudentInfo[] print["Marks in different Subjects : ", self.__p,self.__c,self.__m] def calcTotalMarks [self]: return[self.__p+self.__m+self.__c] class Result[Bsc]: def getResult[self]: self.getBsc[] self.__total=self.calcTotalMarks[] def putResult[self]: self.printBsc[] print["Total Marks out of 300 : ", self.__total] student = Result[] student.getResult[] student.putResult[]
đầu ra
Enter Roll Number: 101 Enter Name: Shivang Yadav Enter Physics Marks: 65 Enter Chem Marks: 78 Enter Maths Marks: 80 Roll Number : 101 Name : Shivang Yadav Marks in different Subjects : 65 78 80 Total Marks out of 300 : 223
Chương trình đối tượng và lớp Python »