Python类和对象二(十一)

构造函数:

重写:

通过类名访问类里面的方法的做法,称为调用未绑定的父类方法,他有时候会产生钻石继承问题:

发现A重复初始化了两次,类c同事继承类B1和B2,类B1和B2又是继承类A的,当c调用类B1和类B2的构造函数的时候,类A会被调用两次

如何解决钻石继承问题呢?通过使用super函数:super能够在函数中搜索指定的方法,并自动绑定好self参数

通过super函数,去查找父类的方法,自动会按照mro的顺序,去搜索父类的相关方法,避免重复调用的问题,mro顺序就是:如果出现同名的属性和方法,py会有一个明确的查找覆盖顺序,这个顺序有一个官方的术语叫做mro

Min-In:后期添加某个功能

多态:

见机行事的行为称为多态:

这几个对象都继承Shape类,他们都重写了构造函数和area方法,这个就是多态的体现

自定义函数是如何实现多态接口的:animal函数具有多态性了,该函数接受不同的对象作为参数,并且不检查类型的情况下执行他的方法

鸭子类型:

相关推荐
Pyeako几秒前
opencv计算机视觉--DNN模块实现风格迁移
python·opencv·计算机视觉·pycharm·dnn·预处理·风格迁移
m0_706653231 分钟前
用Python创建一个Discord聊天机器人
jvm·数据库·python
tlwlmy6 分钟前
python excel图片批量导出
开发语言·python·excel
ValhallaCoder8 分钟前
hot100-矩阵
数据结构·python·算法·矩阵
那年我七岁11 分钟前
android ndk c++ 绘制图片方式
android·c++·python
Java后端的Ai之路11 分钟前
【Python教程10】-开箱即用
android·开发语言·python
深蓝电商API16 分钟前
异步爬虫中代理池的并发管理
开发语言·爬虫·python
B站计算机毕业设计超人17 分钟前
计算机毕业设计PySpark+Hive+Django小红书评论情感分析 小红书笔记可视化 小红书舆情分析预测系统 大数据毕业设计(源码+LW+PPT+讲解)
大数据·人工智能·hive·爬虫·python·spark·课程设计
黄筱筱筱筱筱筱筱22 分钟前
7.适合新手小白学习Python的异常处理(Exception)
java·前端·数据库·python
Rolei_zl25 分钟前
AIGC(生成式AI)试用 45 -- DocsGPT 与 Python开发 1
python·aigc