Computer >> Máy Tính >  >> Lập trình >> Python

Kế thừa lớp hoạt động như thế nào trong Python?

Kế thừa trong các lớp

Thay vì định nghĩa một lớp sau đó, chúng ta có thể tạo một lớp bằng cách dẫn xuất nó từ một lớp đã có từ trước bằng cách liệt kê lớp cha trong ngoặc đơn sau tên lớp mới.

Lớp con kế thừa các thuộc tính của lớp cha và chúng ta có thể sử dụng các thuộc tính đó như thể chúng đã được định nghĩa trong lớp con. Một lớp con cũng có thể ghi đè các thành viên và phương thức dữ liệu từ lớp cha.

Cú pháp

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ụ

#!/usr/bin/python

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