python子类调用父类函数,python调用父类构造函数

  python子类调用父类函数,python调用父类构造函数

  目录1。导言2。语法3。参数4。实施例1 5。示例2

  1.介绍一下super()函数是用来调用父类(超类)的方法。

  Super用来解决多重继承的问题。使用单继承时用类名直接调用父类方法没问题,但如果使用多重继承,就会涉及到找序(MRO)、重复调用(钻石继承)等各种问题。

  MRO是一个类的方法解析序列表,实际上是继承父类方法时的序列表。

  2.语法以下是super()方法的语法:

  超级(类型[,对象或类型])

  3.参数type-class object-or-type-class,一般是selfPython3.x和Python 2.x,一个区别是Python3可以直接用super()XXX代替。

  超级(类,自我)。xxx:

  4.示例1(Python3.x)

  A类:

  定义添加(自身,x):

  y=x 1

  打印(y)

  B(A)类:

  定义添加(自身,x):

  超级()。添加(x)

  b=B()

  b .添加(2) # 3

  5.示例2(Python2.x)

  #!/usr/bin/python

  # -*-编码:UTF-8 -*-

  A类(object): # Python2.x记得继承object

  定义添加(自身,x):

  y=x 1

  打印(y)

  B(A)类:

  定义添加(自身,x):

  超级(B,自我)。添加(x)

  b=B()

  B.add(2) # 3返回值

  没有。

  例子

  下面显示了使用超级函数的示例:

  例子

  #!/usr/bin/python

  # -*-编码:UTF-8 -*-

  类FooParent(对象):

  def __init__(self):

  self.parent=我是家长。

  打印(“父项”)

  定义栏(自身,消息):

  打印(来自父“%消息”的%s)

  类FooChild(FooParent):

  def __init__(self):

  # super(FooChild,self)首先找到FooChild的父类(即FooParent类),然后将FooChild类的对象转换为FooParent类的对象。

  超级(FooChild,self)。__init__()

  打印(“子代”)

  定义栏(自身,消息):

  超级(FooChild,self)。条形图(消息)

  打印(“子栏功能”)

  打印(自身父项)

  if __name__==__main__ :

  fooChild=FooChild()

  Fochild.bar (Hello World )执行结果:

  父母

  儿童

  来自父母的HelloWorld

  子栏功能

  我是家长。参考连接:

  添加https://www.runoob.com/python/python-func-super.html链接描述

  来自

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: