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函数具有多态性了,该函数接受不同的对象作为参数,并且不检查类型的情况下执行他的方法

鸭子类型:

相关推荐
T糖锅G21 分钟前
小白自学python第二天
python
满怀10151 小时前
【OpenCV图像处理实战】从基础操作到工业级应用
图像处理·人工智能·python·opencv·计算机视觉·编程入门
AI视觉网奇1 小时前
四元数转旋转矩阵
人工智能·pytorch·python
Bruce_Liuxiaowei2 小时前
基于Python+Flask的MCP SDK响应式文档展示系统设计与实现
开发语言·python·flask·mcp
PyAIGCMaster2 小时前
Vscode已经打开的python项目,如何使用已经建立的虚拟环境
ide·vscode·python
Tiger_shl2 小时前
【Python语言基础】24、并发编程
java·数据库·python
<<3 小时前
基于Django的权限管理平台
后端·python·django
QMT量化交易3 小时前
如何解决PyQt从主窗口打开新窗口时出现闪退的问题
python·pyqt
databook3 小时前
『Plotly实战指南』--样式定制高级篇
python·数据分析·数据可视化
basketball6164 小时前
Python torchvision.transforms 下常用图像处理方法
开发语言·图像处理·python