怎么在Python中实现继承与多继承

  介绍

怎么在Python中实现继承与多继承?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强> 1。继承

在c++和Java中,使用继承时,子类的构造函数会自动调用父类的构造函数,但在Python中,子类必须显式的在<代码> __init__() 函数中再次调用父类中的<代码> __init__() 函数。如下例:

class 员工(对象):   def 才能;__init__(自我,,名字,,salary =, 0):   ,,,self.name =,名字   ,,,self.salary =工资   def 才能raisesalary(自我,,%):   ,,,self.salary =, self.salary  *, (1, +, %)   def 才能工作(自我):   ,,,print  self.name,,“writes  computer  code"   class 设计师(员工):   def 才能__init__(自我,,名字):   ,,,Employee.__init__(自我,,名字,,5000)   def 才能工作(自我):   ,,,print  self.name,,“writes 图纸设计document"

子类设计师也可以使用<代码>超级> class 设计师(员工):   def 才能__init__(自我,,名字):   ,,,超级(设计师,,自我). __init__(名字,,5000)   def 才能工作(自我):   ,,,print  self.name,,“writes 图纸设计document"

<强> 2。多继承

在c++中,使用虚继承来实现多继承,以避免子类在继承时多次调用基类的构造函数,而在Java中,则取消了多继承,使用接口来达到多继承的效果,在Python中的解决方案是MRO即方法解析顺序,方法解析顺序。主要是通过<代码>超级方法实现的。但如果用<代码>超级方法来解决多继承问题,由于各个父类中的<代码> __init__() 函数中参数的数量可能不同,那应该怎么初始化呢?如下例。

class (对象):   def 才能__init__ (,,):   ,,print    class  B(对象):   def 才能;__init__(自我,,a, b):   ,,,print  a + b   class  C (A, B):   def 才能__init__(自我):   ,,,超级(C,自我). __init__ (?)   c =, C ()

则?处应该填几个参数?

答案是1个参数,因为按照继承的顺序,一个类中的构造需要1个参数初始化即可。即<代码>超级函数与父类的继承顺序有关,且初始化父类继承顺序中,最先有<代码> __init__() 方法的那个。

<代码>超级方法的使用仍在继续探索中…

python可以做什么

python是一种编程语言,内置了许多有效的工具,python几乎无所不能,该语言通俗易懂,容易入门,功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,网页开发等。

看完上述内容,你们掌握怎么在python中实现继承与多继承的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

怎么在Python中实现继承与多继承