当前位置:   article > 正文

子类继承中调用父类的三种方式的写法_子类调用父类的方法

子类调用父类的方法

  • 前言
  • 一、使用继承
    • 1、在子类中使用父类中的方法,调用的方法直接传参
    • 2、在子类中使用父类中的方法,调用的方法间接传参(父类里面的方法有嵌套)
  • 总结

前言

记录Python中继承中调用函数的用法


一、使用继承

1、在子类中使用父类中的方法,调用的方法直接传参

(1)在子类中使用父类的实例对象来调用方法

 注意:

dog().eat("苹果") 中,dog()就是dog类的实例,eat("苹果")中的苹果就是直接传参。

(2)在子类中使用父类的类名来调用方法。(注意:一般不用这种方式)

注意点:

dog.eat(self, "葡萄")这里的self,其实是pig这个类的对象,使用断点的方式就可以看出: 

 

如果把self改成pig和dog其实也能够执行成功。

 

 那么就有个问题:为什么改成pig和dog都可以成功呢?

我们可以看到这个方法(函数)本身是dog类的里面的,现在现在self改成dog,也就是dog类的实例对象去调用这个方法(函数)当然是可以的。

但是为什么self改成pig也是可以的,我们知道,现在使用的是继承,那么继承的特性就是可以用父类的方法(函数),self就算改成了pig,其实本质上还是dog。这就是继承的特性。我既然已经继承了父类的方法(函数),当然就可以填写pig了。

其实最好,我们也不用这么纠结,直接使用self,也不用这么繁琐的去理解。

(3)在子类中使用  self.方法名  来调用方法。(常用)

2、在子类中使用父类中的方法,调用的方法间接传参(父类里面的方法有嵌套)

知识回顾:

那我们知道这种直接传参其实并不建议,我们建议的是形参,也就是标题说的间接传参 。

那这个函数就需要改造一下:

 函数改造好之后,那么就可以用之前讲的三种方式来调用:

(1)使用      self.方法名    的方式来调用父类的方法(函数)------最常用

(2)使用父类的实例化对象(或者子类的实例化对象)来调用父类中的方法----基本上不会这么用

补充点:

在这里我所说的实例化对象其实正确的叫法叫做:实例化

dog1=dog()

dog()叫做实例化;dog1叫做实例化对象

 (3)使用  类名.方法名  去调用父类的函数--------基本上不会这么用

 

 注意:

这里的self不能改成pig或者dog,改了就会报错

 

 如果硬是要用这个  类名.方法名  的方式来调函数,那么就要在父类函数中做修改:

记录:

虽然我们用了上面三种方式去调用函数,但是实际上我们想一个问题,既然都用了继承了,那么为什么还要用这种复杂的方式去调用了。我们直接使用   self.方法名   就行了。不要用那些奇奇怪怪的方法。统一一下思想。但是我们对上诉的其他方式调用也必须了解(因为你不知道后面有哪个大神写的代码就喜欢用些奇奇怪怪的方式,导致自己想半天也想不同。)


总结

暂无

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/230912
推荐阅读
相关标签
  

闽ICP备14008679号