首页 > 编程语言 >Python面向对象编程之多继承,你真的懂了吗?

Python面向对象编程之多继承,你真的懂了吗?

时间:2024-03-19 20:33:37浏览次数:24  
标签:__ Python 子类 self son 继承 面向对象编程 之多 父类

hi,大家好!今天我们来聊聊Python面向对象编程中的一个重要概念——多继承!如果你还没搞清楚这个概念,那就赶紧跟着我一起学习吧!

首先,我们来了解一下什么是继承。在面向对象编程中,继承是一个让子类可以继承父类的属性和方法的机制。这样,我们就可以避免重复编写相同的代码,并且让代码更加清晰和易于维护。父类就像是我们的模板,子类可以根据这个模板来创建自己的对象。

但是,有时候一个子类可能同时继承自多个父类。这时,我们就需要用到多继承了。多继承就是让一个子类同时继承多个父类的属性和方法。这样,子类就可以同时拥有多个父类的特性,实现代码的复用和功能的扩展。

那么,如何实现多继承呢?在Python中,我们可以使用逗号将多个父类分开,例如:

1.多继承语法

class 子类名(父类1, 父类2, 父类3...):
    类体

2.实例

# 父亲类
class Father(object):
    # 构造函数
    def __init__(self, surname):
        self.surname = surname

    # 方法
    def make_money(self):
        print("钱难挣,粑粑难吃...")

# 母亲类
class Mother(object):
    # 构造函数
    def __init__(self, height):
        self.height = height

    # 方法
    def eat(self):
        print("吃饭的方法")

# 子类:子类继承了父亲类和母亲类
class Son(Father, Mother):
    # 构造函数
    def __init__(self, surname, height, weight):
        # 子类继承父亲的属性
        Father.__init__(self, surname)
        # 子类继承母亲的属性
        Mother.__init__(self, height)
        # 子类自己的属性
        self.weight = weight

    # 方法
    def play(self):
        print("周游世界...")

# 构造子类的对象
son = Son("张", 170, 145)
# 子类对象访问父类属性
print(son.surname)
print(son.height)
# 子类对象访问自己的属性
print(son.weight)
# 子类对象访问父类的方法
son.make_money()
son.eat()
# 子类对象访问自己的方法
son.play()

3.执行结果

张
170
145
钱难挣,粑粑难吃...
吃饭的方法
周游世界...

4.总结

  • 子类可以继承父类的非私有属性和非私有方法

  • 子类不可以继承父类的私有属性和私有方法

  • 父类不能调用子类中的方法

  • 继承的优点:

    • 简化代码

    • 提高代码的复用性

    • 提高代码的可维护性

    • 继承是多态的前提

  • 继承的缺点:

    • 继承会导致代码的关联都偏高

标签:__,Python,子类,self,son,继承,面向对象编程,之多,父类
From: https://blog.csdn.net/luorongxi123/article/details/136313607

相关文章

  • python27安装pygame
    参考:https://cloud.tencent.com/developer/article/2089701我安装的是1.9.3版本https://pypi.org/project/pygame/1.9.3/#files按照自己本地的环境下载,比如我的是python27,windows64,我安装的就是 pygame-1.9.3-cp27-cp27m-win_amd64.whl安装命令:pipinstallxxxx.whl 试......
  • Python中的深拷贝与浅拷贝有什么区别?
    在Python中,深拷贝和浅拷贝是处理复合对象(例如列表、字典等含有其他对象的对象)时常用到的两种方法。它们之间的主要区别在于复制过程中对内嵌对象的处理方式。###浅拷贝(ShallowCopy)浅拷贝创建了一个新对象,其内容是对原始对象中内容的引用。这意呀着,如果原始对象中的元......
  • 使用Python爬取豆瓣电影影评:从数据收集到情感分析
    简介在当今数字化时代,对电影的评价和反馈在很大程度上影响着人们的选择。豆瓣作为一个知名的电影评价平台,汇集了大量用户对电影的评论和评分。本文将介绍如何使用Python编写爬虫来获取豆瓣电影的影评数据,并通过情感分析对评论进行简单的情感评价。环境准备在开始之前,我们需要......
  • linux-实现日志分析--python
    linux-实现日志分析--python涉及到的主要python包和系统命令:1.datetime#用于处理时间2.subprocess#用于调用命令行工具3.tail-flogFile#获取logFile新增内容废话不多说,下面说一下场景需求和具体解决方案。1.[场景需求]一个区块链项目,在项目测试过程中,通过日志发......
  • Python教程:如何向Word中添加表格
    简介MicrosoftWord是一种流行的文档处理软件,广泛用于创建各种类型的文档,包括报告、简历、手册等。Python提供了许多库来处理MicrosoftWord文档,其中包括python-docx,它使我们能够轻松地创建、修改和操作Word文档。本文将介绍如何使用Python的python-docx库向Word文档中添加表格......
  • Python从入门到精通秘籍八
    一、Python中函数的多返回值在Python中,函数可以返回多个值。这种特性可以通过将多个变量包装在一个元组或列表中来实现。下面是一个示例代码:defmultiple_returns():a=1b=2c=3returna,b,cresult=multiple_returns()print(result)#输出:(......
  • 自动化办公:Python如何操控Excel(详细教程)
    1.准备环境Python版本:3.6.5IDE集成开发环境:pycharmPython库选择:openpyxlopenpyxl操作的excel文件以xlsx结尾。openpyxl官网基础命令查看Python版本python--version查看pip版本pip--version安装openxlsxpipinstallopenpyxl-ihttps://pypi.tuna.......
  • 基于”Python+”多技术融合在蒸散发与植被总初级生产力估算中的应用教程
    原文链接:基于”Python+”多技术融合在蒸散发与植被总初级生产力估算中的应用教程https://mp.weixin.qq.com/s?__biz=MzUzNTczMDMxMg==&mid=2247598050&idx=5&sn=70fd3f5946d581ad9c1363295b130ef5&chksm=fa823e05cdf5b713baf9cf1381bfb2455ad675a0b21e194bef8b76f35d6aa7759977......
  • Python贷款违约预测:Logistic、Xgboost、Lightgbm、贝叶斯调参/GridSearchCV调参
    原文链接:https://tecdat.cn/?p=35392原文出处:拓端数据部落公众号分析师:LinsengBo银行贷款业务是银行的主要盈利方式,对于具体的贷款申请人,是否可以同意贷款申请是一件十分重要的步骤,如果贷款人在贷款后出现违约行为,这将对银行的资金流稳定性造成不利的影响。因此针对贷款人的“......
  • python/pygame坦克游戏边学边写笔记(六)
    一、给玩家坦克一个脆弱的家测试玩了一下,才发现玩家的家还没安排。1、载入家的图片。2、地图字典索引,生命值设为1,生命脆弱哦。3、wall_map方法中设定家的位置。ifdata.iloc[row,colum]=='家':wall_type='home'......