Kế thừa Python
Kế thừa cho phép chúng tôi 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à lớp cơ sở. is the class being inherited from, also called base class.
Lớp con là lớp kế thừa từ một lớp khác, còn được gọi là lớp dẫn xuất. is the class that inherits from another class, also called derived class.
Tạo một lớp cha mẹ
Bất kỳ lớp nào cũng có thể là lớp cha, vì vậy cú pháp giống như tạo bất kỳ lớp nào khác:
Thí dụ
Tạo một lớp có tên Person
, với các thuộc tính firstname
và lastname
và phương thức printname
:
người lớp: & nbsp; def __init __ [self, fname, lname]: & nbsp; & nbsp; & nbsp; self.firstname = fname & nbsp; & nbsp; & nbsp; self.lastName = lname
def __init__[self, fname, lname]:
self.firstname = fname
self.lastname = lname
& nbsp; DEF printName [self]: & nbsp; & nbsp; & nbsp; in [self.firstname, self.lastname]
print[self.firstname, self.lastname]
#Sử dụng lớp người để tạo một đối tượng, sau đó thực thi phương thức printName:
x = người ["John", "doe"] x.printname []
x.printname[]
Hãy tự mình thử »
Tạo một lớp trẻ em
Để tạo một lớp kế thừa chức năng từ một lớp khác, hãy gửi lớp cha làm tham số khi tạo lớp con:
Thí dụ
Tạo một lớp có tên Student
, sẽ kế thừa các thuộc tính và phương thức từ lớp Person
:
Học sinh lớp [Người]: & NBSP; đi qua
pass
Lưu ý: Sử dụng từ khóa pass
khi bạn không muốn thêm bất kỳ thuộc tính hoặc phương thức nào khác vào lớp.
Use the pass
keyword when you do not want to add any other properties or methods to the class.
Bây giờ lớp học sinh có cùng thuộc tính và phương pháp như lớp người.
Thí dụ
Tạo một lớp có tên Student
, sẽ kế thừa các thuộc tính và phương thức từ lớp Person
:
Học sinh lớp [Người]: & NBSP; đi qua
x.printname[]
Hãy tự mình thử »
Tạo một lớp trẻ em
Để tạo một lớp kế thừa chức năng từ một lớp khác, hãy gửi lớp cha làm tham số khi tạo lớp con:
Thí dụ
Tạo một lớp có tên Student
, sẽ kế thừa các thuộc tính và phương thức từ lớp Person
: The __init__[]
function is called automatically every time the class is being used to create a new object.
Thí dụ
Tạo một lớp có tên Student
, sẽ kế thừa các thuộc tính và phương thức từ lớp Person
:
Học sinh lớp [Người]: & NBSP; đi qua
def __init__[self, fname,
lname]:
#add properties etc.
Lưu ý: Sử dụng từ khóa pass
khi bạn không muốn thêm bất kỳ thuộc tính hoặc phương thức nào khác vào lớp.
Bây giờ lớp học sinh có cùng thuộc tính và phương pháp như lớp người. The child's __init__[]
function overrides the inheritance of the parent's firstname
7 function.
Sử dụng lớp Student
để tạo một đối tượng, sau đó thực thi phương thức printname
:
Thí dụ
Tạo một lớp có tên Student
, sẽ kế thừa các thuộc tính và phương thức từ lớp Person
:
def __init__[self,
fname, lname]:
Person.__init__[self, fname, lname]
Hãy tự mình thử »
Tạo một lớp trẻ em
Để tạo một lớp kế thừa chức năng từ một lớp khác, hãy gửi lớp cha làm tham số khi tạo lớp con:
Thí dụ
Thí dụ
Tạo một lớp có tên Student
, sẽ kế thừa các thuộc tính và phương thức từ lớp Person
:
def __init__[self, fname, lname]:
super[].__init__[fname, lname]
Hãy tự mình thử »
Tạo một lớp trẻ em
Để tạo một lớp kế thừa chức năng từ một lớp khác, hãy gửi lớp cha làm tham số khi tạo lớp con:
Thí dụ
Tạo một lớp có tên Student
, sẽ kế thừa các thuộc tính và phương thức từ lớp Person
:
Học sinh lớp [Người]: & NBSP; đi qua
def __init__[self, fname, lname]:
super[].__init__[fname, lname]
self.graduationyear = 2019
Hãy tự mình thử »
Tạo một lớp trẻ em
Thí dụ
Tạo một lớp có tên Student
, sẽ kế thừa các thuộc tính và phương thức từ lớp Person
:
Học sinh lớp [Người]: & NBSP; đi qua
def __init__[self, fname, lname, year]:
super[].__init__[fname, lname]
self.graduationyear = year
Lưu ý: Sử dụng từ khóa pass
khi bạn không muốn thêm bất kỳ thuộc tính hoặc phương thức nào khác vào lớp.
Hãy tự mình thử »
Tạo một lớp trẻ em
Thí dụ
Tạo một lớp có tên Student
, sẽ kế thừa các thuộc tính và phương thức từ lớp Person
:
Học sinh lớp [Người]: & NBSP; đi qua
def __init__[self, fname, lname, year]:
super[].__init__[fname, lname]
self.graduationyear = year
Lưu ý: Sử dụng từ khóa pass
khi bạn không muốn thêm bất kỳ thuộc tính hoặc phương thức nào khác vào lớp.
print["Welcome",
self.firstname, self.lastname, "to the class of", self.graduationyear]
Hãy tự mình thử »
Tạo một lớp trẻ em
Để tạo một lớp kế thừa chức năng từ một lớp khác, hãy gửi lớp cha làm tham số khi tạo lớp con:
Exercise:
Thí dụ
Tạo một lớp có tên Student
, sẽ kế thừa các thuộc tính và phương thức từ lớp Person
: