Python之类和对象【三】---继承(2.1-多继承,多重继承,多态)

news/2025/1/11 15:07:31/

文章目录

  • 前言
  • 一、多继承
  • 二、多重继承
  • 三、多态
  • 总结

前言

记录多继承,多态的含义,理清思路。


一、多继承

含义:一个子类可以继承多个父类。

class 子类(父类1, 父类2.....):
    pass

一般这种情况,父类之间是没有什么关联,独立的,实现不同功能。

可以了解的知识:

涉及:新式类和旧式类。 有兴趣可以了解
     菱形继承问题。

二、多重继承

gggrand - grand - parent - son

三、多态

其实在Python中是没有多态的,多态这个概念是Java中的。

# 判断一个对象,是否为某一个类的对象。
isinstance(对象名, 类名))
# 子类的对象,也是父类的对象。

鸭子类型:

“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”
我们并不关心对象是什么类型,到底是不是鸭子,只关心行为。

多态:父类类型,接收子类对象。(类型:指数据类型;接收:是参数接收实际的值,也就是赋值的意思)

多态这种用法,也就是在继承中才有。


java:定义函数的任何参数,必须指明类型。在java当中一定是在继承的情况下会用。

python可以说是没有动态,也可以说是处处皆多态。

举例:

class Base:def __init__(self, kind, name):self.kind = kind  # 属性赋值self.name = name  # 属性赋值def eat(self, food):print("{} 要吃 {}!!!".format(self.name, food))def drink(self):print("要喝水了!!!")class Dog(Base):def __init__(self, kind,name,color, age=1):super().__init__(kind,name)self.color = color  # 属性赋值self.age = age  # 属性赋值self.sex = None # 当属性的初始值不确定的时候,可以设置为Nonedef eat(self, food):print("狗吃",food)def bark(self):print("狗嗷嗷的叫!!!")print("注意警惕!!")class Cat(Base):def __init__(self, kind,name,color, age=1):super().__init__(kind,name)self.color = color  # 属性赋值self.age = age  # 属性赋值self.sex = None # 当属性的初始值不确定的时候,可以设置为Nonedef bark(self):print("狗嗷嗷的叫!!!")print("注意警惕!!")class People:def eat(self, food):print("人吃", food)def __init__(self):pass# 小小菲的狗 - 泰迪、棕色、summer、一岁、母的
xxf_dog = Dog("泰迪", "summer", "棕色", 2)
xxf_cat = Cat("英短", "小白", "黑白色", 3)
# 判断一个对象,是否为某一个类的对象。
# 子类的对象,也是父类的对象。
# print(isinstance(xxf_dog, Dog))
# print(isinstance(xxf_dog, Base))# 参数形参名类型:类名。申明/希望你传进来的是这个类的对象。
def hello(object_name):print(object_name)# 调用object_name的eat方法。# python当中只要传进来的参数,有eat这个方法。就可以了。res = object_name.eat("美食")print(res)# hello(xxf_dog)
# hello(xxf_cat)
hello(People())

转载:

python什么是鸭子类型_python鸭子类型_杰森斯坦森1150的博客-CSDN博客


总结

暂无


http://www.ppmy.cn/news/335867.html

相关文章

杰森斯坦森是机器人_MIT机器人参加风靡全球的“踢瓶盖挑战”,模仿人类肌肉,任务正确率97%...

导读:前段时间,瓶盖挑战赛一下子火遍了社交网络,面对着人类花式的开盖风采,来自MIT的机器人Baxter坐不住了,通过对肌肉神经信号的处理,也呈现了一把“盖世风采”。 自从哈萨克斯坦的跆拳道冠军法拉比杰森斯…

ZZULIOJ1071-1080

目录 1071: 分解质因子 1072: 青蛙爬井 1073: 再谈鸡兔同笼问题 1074: 百钱买百鸡 1075: 聚餐人数统计 1076: 三位数求解 1077: 空心菱形 1078: ab(多实例测试1) 1079: ab(多实例测试2) 1080: ab(多实例测试…

rd640服务器引导,联想RD640服务器外部简介_ThinkServer RD640 S2603v2 4/300AHROD_服务器产业-中关村在线...

联想RD640服务器外部简介: 硬件是服务器产品的基础,对服务器的性能有着巨大的影响,服务器平台整体性能优劣我们可以从硬件设计方面看出一些端倪。外观设计精致细腻的产品,其产品内部设计自然也不会很差。而如果连产品外观设计都非…

x86服务器性能,经典X86服务器 戴尔R720强悍性能10800

(中关村在线江苏行情)服务器作为目前企业中不可或缺的产品,地位越来越重要了。其中这款戴尔R720(Xeon E5-2609/2GB/300GB)是服务器领域经典的X86服务器,该机拥有一颗至强Xeon E5-2609四核处理器,性能要比一般同系列的大部分型号更出色。其采用…

高工数据|BOSE/哈曼锁定车载高端品牌音响超80%份额,市场增速近5成

过去几年时间,高端车载品牌音响一直是豪华品牌的专属。然而,随着整车智能化尤其是座舱体验的升级,更多车型品牌开始重新考虑汽车音响系统的选型,高端化、品牌化是趋势。 高工智能汽车研究院监测数据显示,2021年1-11月…

全球及中国智能音箱市场规模产值及发展机遇研究报告2021-2027年

全球及中国智能音箱市场规模产值及发展机遇研究报告2021-2027年 HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS-- 【修订日期】:2021年10月 【搜索鸿晟信合研究院查看官网更多内容!】 第一章 智能音箱行业概述 1.1 智能音箱概念阐释…

十张图了解2020年中国智能音箱行业市场规模与发展前景分析 行业发展潜力巨大

来源: 前瞻产业研究院 智能音箱功能丰富赛道布局者众多 根据中国电子技术标准化研究院、中国电子音响行业协会提出并起草的《智能音箱综合能力测试规范》,智能音箱(smart speaker)是指具有语音交互功能、能够访问网络内容、享受网络服务的音箱设备。 智能…