Python 中的继承

pythonserver side programmingprogramming更新于 2025/10/26 6:36:17

在本文中,我们将学习 Python 3.x 或更早版本中的继承和扩展类。

继承可以很好地表示现实世界的关系,提供可重用性并支持传递性。它提供更快的开发时间、更轻松的维护和易于扩展。

继承大致分为 5 种类型 −

  • 单一
  • 多重
  • 分层
  • 多级
  • 混合

如上图所示,继承是我们尝试访问其他类的功能而不实际创建父类的对象的过程。

在这里,我们将学习单一继承和分层继承的实现。

单一继承

示例

# 父类
class Student():
   # 父类的构造函数
   def __init__(self, name, enrollnumber):
      self.name = name
      self.enrollnumber = enrollnumber
   def display(self):
      print(self.name)
      print(self.enrollnumber)
# 子类
class College( Student ):
   def __init__(self, name, enrollnumber, admnyear, branch):
      self.admnyear = admnyear
      self.branch = branch
      # 调用父类的 __init__
      Student.__init__(self, name, enrollnumber)
# 为基类/派生类创建对象
obj = College('Rohit',42414802718,2018,"CSE")
obj.display()

输出

Rohit
42414802718

多重继承

示例

# 父类
class Student():
   # 父类的构造函数
   def __init__(self, name, enrollnumber):
      self.name = name
      self.enrollnumber = enrollnumber
   def display(self):
      print(self.name)
      print(self.enrollnumber)
# 子类
class College( Student ):
   def __init__(self, name, enrollnumber, admnyear, branch):
      self.admnyear = admnyear
      self.branch = branch
      # 调用父类的 __init__
      Student.__init__(self, name, enrollnumber)
# 子类
class University( Student ):
   def __init__(self, name, enrollnumber, refno, branch):
      self.refno = refno
      self.branch = branch
      # 调用父类的 __init__
      Student.__init__(self, name, enrollnumber)
# 为基类/派生类创建对象
obj_1 = College('Rohit',42414802718,2018,"CSE")
obj_1.display()
obj_2 = University ('Rohit',42414802718,"st2018","CSE")
obj_2.display()

输出

Rohit
42414802718
Rohit
42414802718

结论

在本文中,我们了解了 Python 中的继承,包括单一继承和分层继承。


相关文章


有用资源