多态在面向对象中的意义以及带来的好处
多态的概念:相同的行为,不同的实现
什么是静态多态?什么是动态多态?
静态多态:编译时就已经确定了结果,例如重载和重写
动态多态:运行时确定结果,
动态多态是依赖什么技术实现的?
- 继承
继承:是站在子类立场( 子类变量= new 子类对象() )能继承父类的成员和方法.
- 重写
- 向上转型(父类引用指向子类对象
多态:是站在父类立场( 父类变量=new 子类对象() )调用父类方法时,如果该方法被子类覆盖,则忽略父类方法,直接调用子类方法.
动态多态的好处是什么?
减少了代码的耦合性,后期需要修改的时候只需要添加内容,不用修改之前已经定义的代码。
可以扩展的知识点:
- 接口的引用也可以指向实现类的对象;
- 反射实现动态产生对象;
- Spring完成IOC注入;
- 桥梁模式、装饰器模式、策略模式等常见设计模式;
- 聚合组合原则、依赖倒转原则等常见设计原则。
问题