美文网首页
子类定义了一个与父类函数名相同的方法,调用父类该方法时,参数一定

子类定义了一个与父类函数名相同的方法,调用父类该方法时,参数一定

作者: 紫米阁 | 来源:发表于2017-01-17 11:46 被阅读120次

父类定义了一个方法,该方法除了self参数外,无其他参数。

子类定义了一个与父类函数名相同的方法,调用父类该方法时,参数一定要加上self,否则,会报如下错:

unbound method method() must be called with Super instance as first argument (got nothing instead)

正确代码如下所示:

class Super: #定义一个父类

def method(self):

print('in the Super.method')

class Sub(Super):#定义一个子类

def method(self): #该函数名与父类相同

print('stating Sub.method')

Super.method(self) #参数传入不能空

print('ending Sub.method')

if __name__ == '__main__':

x = Super()

x.method()

y = Sub()

y.method()

相关文章

  • 子类定义了一个与父类函数名相同的方法,调用父类该方法时,参数一定

    父类定义了一个方法,该方法除了self参数外,无其他参数。 子类定义了一个与父类函数名相同的方法,调用父类该方法时...

  • 重写和重载

    子类重写父类方法:方法名相同,参数相同。该方法假如是 get()此时,在外部调用时,调用子类该方法 显示重写方法...

  • python继承二(实例)

    父类 子类一 采用父类名.方法的方式调用父类中的初始化函数" 子类二 " 使用super(子类名,self).方法...

  • iOS 小知识点总结

    子类实现父类方法时,监测子类是否调用super方法。 在父类中声明方法时: 子类中实现该父类方法: 图片压缩

  • c++函数的override overwrite overloa

    override (overwrite) 重写(=覆盖): 父子类间,子类覆盖父类的方法,函数名参数均相同,父类函...

  • 覆写

    概念:如果子类重写了父类:属性的覆盖与方法的覆写 方法的复写:子类定义了与父类方法名称,参数类型以及个数完全相同的...

  • 浅谈Java中的super和this

    super():代表父类对象,调用父类的构造方法,如果在子类的构造函数中调用该函数则必须放在第一行,该方法会将父类...

  • 在module 声明method为public 而非 open的

    情景:子类继承的父类分别在不同的module 当子类声明和父类相同的方法名(A)时。在子类中调用父类的其他方法(B...

  • Java父类和子类的关系

    一、父类引用指向子类对象时 若子类覆盖了某方法,则父类引用调用子类重新定义的新方法 若子类未覆盖某方法,则父类引用...

  • iOS 父类调用子类的方法

    在子类实现父类的方法,当父类调用子类的方法的时候,就可以了,但是父类也需要实现该方法,我懂了

网友评论

      本文标题:子类定义了一个与父类函数名相同的方法,调用父类该方法时,参数一定

      本文链接:https://www.haomeiwen.com/subject/dwjmbttx.html