Lập trình hướng đối tượng tạo ra các mẫu mã có thể sử dụng lại để ngăn chặn sự dư thừa mã trong các dự án. Một cách mà mã có thể tái chế được tạo ra là thông qua kế thừa, khi một lớp con sử dụng mã từ một lớp cơ sở khác.
Kế thừa là khi một lớp sử dụng mã được viết trong một lớp khác.
Các lớp được gọi là lớp con hoặc lớp con kế thừa các phương thức và biến từ các lớp cha hoặc lớp cơ sở.
Vì lớp con kế thừa từ lớp cơ sở Parent, lớp con có thể sử dụng lại mã của Parent, cho phép người lập trình sử dụng ít dòng mã hơn và giảm dư thừa.
Các lớp có nguồn gốc được khai báo giống như lớp cha của chúng; tuy nhiên, danh sách các lớp cơ sở để kế thừa được đưa ra sau tên lớp -
class SubClassName (ParentClass1[, ParentClass2, ...]): 'Optional class documentation string' class_suite
Ví dụ
class Parent: # define parent class parentAttr = 100 def __init__(self): print "Calling parent constructor" def parentMethod(self): print 'Calling parent method' def setAttr(self, attr): Parent.parentAttr = attr def getAttr(self): print "Parent attribute :", Parent.parentAttr class Child(Parent): # define child class def __init__(self): print "Calling child constructor" def childMethod(self): print 'Calling child method' c = Child() # instance of child c.childMethod() # child calls its method c.parentMethod() # calls parent's method c.setAttr(200) # again call parent's method c.getAttr() # again call parent's method
Đầu ra
Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau
Calling child constructor Calling child method Calling parent method Parent attribute :200