什么是多态?
概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,(或者说 不同类对于同一消息有不同的反映)简单的说:就是用基类的引用指向子类的对象。
为什么要用多态呢?
原因:
封装可以隐藏实现细节,使得代码模块化;
继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。
多态的是 消除类型之间的耦合关系
多态除了代码的复用性外,还可以解决项目中紧偶合的问题,提高程序的可扩展性.。耦合度讲的是模块模块之间,代码代码之间的关联度,通过对系统的分析把系统分解成一个一个子模块,子模块提供稳定的接口,达到降低系统耦合度的目的,模块模块之间尽量使用模块接口访问,而不是随意引用其他模块的成员变量。
多态有什么好处?
1. 应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。//继承
2. 派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。 //多态的真正作用
以上参考:https://blog.csdn.net/yongwan5637/article/details/80459881
https://blog.csdn.net/justlpf/article/details/80056899
多态的表现形式有3种:
1、接口的实现上,比如简单工厂模式就用到了。
2、同类中的 重载。
3、子类中的 重写 。