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

鸭子类型:

相关推荐
qetfw8 分钟前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
用户8356290780511 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python
一次旅行1 小时前
Python+大模型端到端自动化日报系统
开发语言·python·自动化
_Jimmy_1 小时前
AI应用开发工程师面试题库
人工智能·python·深度学习·机器学习·知识图谱
用户8356290780511 小时前
Python 实现 Excel 命名范围(Named Range)的创建与管理
后端·python
dreamer_83992 小时前
AI智能合同比对系统:从零搭建实战教程
人工智能·python
AOwhisky3 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
观察员3 小时前
带你用一个 Python 图书系统,通关封装继承多态
python
林泽毅4 小时前
PyTRIO快速入门(一):概念、推理与训练
人工智能·python·深度学习·机器学习·语言模型
admin and root5 小时前
「移动安全」安卓APP 反编译&frida脱壳技巧分享
android·开发语言·python·web安全·微信小程序·移动安全·攻防演练