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

Kế thừa trong Python

Trong bài viết này, chúng ta sẽ tìm hiểu kế thừa và mở rộng các lớp trong Python 3.x. Hoặc sớm hơn.

Tính kế thừa thể hiện tốt các mối quan hệ trong thế giới thực, cung cấp khả năng tái sử dụng và hỗ trợ quá trình chuyển đổi. Nó cung cấp thời gian phát triển nhanh hơn, bảo trì dễ dàng hơn và dễ dàng mở rộng.

Thừa kế được phân loại rộng rãi thành 5 loại -

  • Đơn
  • Nhiều
  • Phân cấp
  • Đa cấp
  • Kết hợp

Kế thừa trong Python

Như thể hiện trong hình trên, kế thừa là quá trình chúng ta cố gắng truy cập các tính năng của các lớp khác mà không thực sự tạo đối tượng của lớp cha.

Ở đây chúng ta sẽ tìm hiểu về cách triển khai các thừa kế đơn lẻ và phân cấp.

Kế thừa đơn

Ví dụ

# parent class
class Student():
   # constructor of parent class
   def __init__(self, name, enrollnumber):
      self.name = name
      self.enrollnumber = enrollnumber
   def display(self):
      print(self.name)
      print(self.enrollnumber)
# child class
class College( Student ):
   def __init__(self, name, enrollnumber, admnyear, branch):
      self.admnyear = admnyear
      self.branch = branch
      # invoking the __init__ of the parent class
      Student.__init__(self, name, enrollnumber)
# creation of an object for base/derived class
obj = College('Rohit',42414802718,2018,"CSE")
obj.display()

Đầu ra

Rohit
42414802718

Đa kế thừa

Ví dụ

# parent class
class Student():
   # constructor of parent class
   def __init__(self, name, enrollnumber):
      self.name = name
      self.enrollnumber = enrollnumber
   def display(self):
      print(self.name)
      print(self.enrollnumber)
# child class
class College( Student ):
   def __init__(self, name, enrollnumber, admnyear, branch):
      self.admnyear = admnyear
      self.branch = branch
      # invoking the __init__ of the parent class
      Student.__init__(self, name, enrollnumber)
# child class
class University( Student ):
   def __init__(self, name, enrollnumber, refno, branch):
      self.refno = refno
      self.branch = branch
      # invoking the __init__ of the parent class
      Student.__init__(self, name, enrollnumber)
# creation of an object for base/derived class
obj_1 = College('Rohit',42414802718,2018,"CSE")
obj_1.display()
obj_2 = University ('Rohit',42414802718,"st2018","CSE")
obj_2.display()

Đầu ra

Rohit
42414802718
Rohit
42414802718

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu về Kế thừa trong Python, nói chung là kế thừa đơn và có thứ bậc.