前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python之类的单继承与多继承

python之类的单继承与多继承

作者头像
jiankang666
发布2022-12-05 13:40:46
4670
发布2022-12-05 13:40:46
举报
文章被收录于专栏:java基础笔记java基础笔记

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。


一、背景

  Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python的类的单继承与多继承。


二、单继承与多继承

1、单继承

  在程序中,继承描述的是事物之间的从属关系。在继承关系中,已有的、设计好的类称为父类或基类,新设计的类称为子类或派生类。继承可以分为单继承和多继承两大类。   在Python中,当一个子类只有一个父类时称为单继承。子类的定义如下所示:

代码语言:javascript
复制
class 子类名(父类名):

  子类可以继承父类的所有公有成员和公有方法,但不能继承其私有成员和私有方法。例:单继承示例。

代码语言:javascript
复制
#定义一个父类
class Person:
    name = '人'
    age = 
    #定义方法用于输出
    def speak(self):    
        print ('%s 说: 我 %d 岁。' %(self.name,self.age))


#定义一个子类
class Stu(Person):
    #定义方法用于修改名字
    def setName(self, newName):
        self.name = newName
    #定义方法用于输出
    def s_speak(self):
        print ('%s 说: 我 %d 岁。' %(self.name,self.age))


student = Stu()                #创建学生对象
print ('student的名字为:',student.name)    #输出学生名字
print ('student的年龄为:',student.age)        #输出学生年龄
student.s_speak()                #调用子类方法用于输出
student.setName('Jack')            #调用子类方法用于修改名字
student.speak()                #调用父类方法用于输出

  结果如下。

2、多继承

  多继承指一个子类可以有多个父类,它继承了多个父类的特性。多继承可以看作是对单继承的扩展,其语法格式如下:

代码语言:javascript
复制
class 子类名(父类名,父类名…):

  例:多继承示例。

代码语言:javascript
复制
#定义沙发父类
class Sofa:
    def printA(self):
        print ('----这是沙发----')
#定义床父类
class Bed:
    def printB(self):
        print('----这是床----')

#定义一个子类,继承自Sofa和Bed
class Sofabed(Sofa,Bed):
    def printC(self):
        print('----这是沙发床----')

obj_C = Sofabed()        #创建对象
obj_C.printA()        #调用Sofa父类中的方法
obj_C.printB()        #调用Bed父类中的方法
obj_C.printC()        #调用自身的方法

  结果如下,大家可以自行尝试。

  注意:在Python中,如果两个父类中有同名的方法,调用该同名方法时会调用先继承类中的方法。   例如:如果Sofa和Bed类中有同名的方法,用”语句定义子类时,子类会先继承Sofa类。

代码语言:javascript
复制
class Sofabed(Sofa,Bed):

三、参考

1、廖雪峰的官网 2、python官网 3、Python编程案例教程


四、总结

  以上就是就是关于Python类的单继承与多继承相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java基础笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景
  • 二、单继承与多继承
    • 1、单继承
      • 2、多继承
      • 三、参考
      • 四、总结
      相关产品与服务
      云开发 CloudBase
      云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档