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

鸭子类型:

相关推荐
万行19 小时前
机器学习&第一章
人工智能·python·机器学习·flask·计算机组成原理
2301_7973122619 小时前
学习java37天
开发语言·python
WJSKad123519 小时前
果园树干识别与定位_faster-rcnn_x101-32x4d_fpn_1x_coco改进实践
python
深蓝电商API19 小时前
Scrapy中间件实战:自定义请求头和代理池实现
python·scrapy·中间件
hui函数19 小时前
Python系列Bug修复|如何解决 pip install 安装报错 invalid command ‘bdist_wheel’(缺少 wheel)问题
python·bug·pip
hui函数20 小时前
Python系列Bug修复|如何解决 pip install -r requirements.txt 私有索引未设为 trusted-host 导致拒绝 问题
python·bug·pip
子午20 小时前
【2026原创】动物识别系统~Python+深度学习+人工智能+模型训练+图像识别
人工智能·python·深度学习
o_insist20 小时前
LangChain1.0 实现 PDF 文档向量检索全流程
人工智能·python·langchain
脑洞AI食验员20 小时前
智能体来了:用异常与文件处理守住代码底线
人工智能·python
曲幽20 小时前
FastAPI登录验证:用OAuth2与JWT构筑你的API安全防线
python·fastapi·web·jwt·token·oauth2