python可以多继承吗

来源:千锋教育
发布时间:2023-11-10 07:32:28
分享

python面向对象的主要好处就是代码的重用,实现这一特点通过继承,继承创建的新类成为子类,被继承的类称为父类。

如果在子类中需要父类的构造方法就需要显示的调用父类的构造方法,在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。

下面我们开始来讲解继承和多继承

首先我们创建两个类,

父类:Father类子类:Child

父类中属性为money,和一个方法play(),输出

fatherplaywithme

来表示继承父类的方法。在继承的时候我们需要在子类中导入父类

父类的代码如下:

classFather(object):

def__init__(self,money):

self.money=money

print('money',money)

defplay(self):

print('fatherplaywithme')

因为孩子是继承父亲的,所以孩子类中也有money属性。所以我们直接用child来继承Father类。

child代码如下:

fromFatherimportFather

classChild(Mother,Father):

def__init__(self,money):

Father.__init__(self,money)

这个时候我们的child类就继承来自父类的属性money而且我们还继承了来自父类的方法play(),我们可以直接调用。

来验证一下

fromChildimportChild

defmain():

c=Child(100)

c.play()

if__name__=='__main__':

main()

我们从输出台可以得到money100fatherplaywithme

多继承

单继承有时候可能满足不了我们所需的所以我们就会遇到多继承,这个同样能够展示出代码的重用。

同样是上边的例子,child不仅仅是继承来自父亲,还继承来自母亲。所以我们创建mother类

classMother(object):

def__init__(self,face):

self.face=face

print('face',face)

defplay(self):

print('mothergoshoppingwithme')

mothe类创建的属性为face,其次我们还定义的一个相同的方法play是为了展示多继承中如果有相同的函数会调用哪个。

然后我们重写一下child类

fromFatherimportFather

fromMotherimportMother

classChild(Mother,Father):

def__init__(self,money,face):

Father.__init__(self,money)

Mother.__init__(self,face)

以上内容为大家介绍了Python培训之可以多继承吗,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python怎么写注释 python的注释确保了对模块,函数,方法和行内注释使用正确的风格。Python中的注释有单行注释和多行注释:python中单行注释以#开头,例如:#这是一个注释print("Hello,World!
  • pythonif语句怎么写 if语句是python中常见的条件判断语句,我们先要知道它的运行原理,才能更好的使用它。Python程序语言指定任何非0和非空(null)值为true,0或者null为false。Python编程中i
  • python如何使用import python中的import语句是用来导入模块的,在python模块库中有着大量的模块可供使用,要想使用这些文件需要用import语句把指定模块导入到当前程序中。import语句作用import语句作
  • python可以在哪里运行 如何运行Python程序(即.py文件)?第一种,使用自带的GUI工具IDLE。右键.py文件,选择IDLE打开,F5运行。第二种,使用Windows的cmd窗口(快捷键win+R然后cmd回车),输
  • python解释型语言 通常的说法,编译代表着将一个高级语言转化为CPU能执行的机器码。当你编译C的时候,的确是做的这样的操作。编译的结果是一个二进制可执行文件,这时你的系统可直接运行这个程序。与此相对的,解释的意思是这样的
  • python跨平台的语言 python是跨平台的,免费开源的一门计算机编程语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开