企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
# 重载(overloading method) * 重载是让类以统一的方式处理不同类型数据的一种手段。 <div style="display:none" height="5"></div> * 条件: ~~~ 1、一个类里面 2、方法名字相同 3、参数不同 ~~~ <div style="display:none" height="5"></div> * 基本设计本原则: ➣ 仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载 * 函数重载主要是为了解决两个问题 ~~~ 1、可变参数类型 2、可变参数个数 ~~~ <div style="display:none" height="5"></div> **情况 1** : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 函数功能相同,但是参数类型不同,python 如何处理?答案是根本不需要处理,因为 python 可以接受任何类型的参数,如果函数的功能相同,那么不同的参数类型在 python 中很可能是相同的代码,没有必要做成两个不同函数。 **情况 2** &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 函数功能相同,但参数个数不同,python 如何处理?大家知道,答案就是缺省参数。对那些缺少的参数设定为缺省参数即可解决问题。因为你假设函数功能相同,那么那些缺少的参数终归是需要用的。 **鉴于情况 1 跟 情况 2 都有了解决方案,python 自然就不需要函数重载了。** <br/> # 方法重写(overiding method) * 方法重写又称方法覆盖 <div style="display:none" height="5"></div> * 条件: ~~~ 1、参数列表必须完全和被重写方法的参数列表一致 2、返回类型必须完全和被重写方法的返回类型一致 3、访问修饰符的限制一定要大于被重写方法的访问修饰符 ~~~ * 基本设计本原则: ➣ 子类不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。