Java多态
什么是多态
相同的类型,相同的方法调用,因为具体的实例不同,得到不同的业务对象
【OOP的基础原理关系:封装>>>继承>>>多态】
多态在开发过程中的优点:
- 多样性:同一个对象在使用中可以表现出不同的业务特性
- 便于进行业务逻辑的更新(无需便宜的快速替换)
如何实现多态:
语法要求:
- 一定是多个类才能实现多态特性(一个类不行)
- 多个类之间具有继承关系
- 子类一定要重写父类方法
- 业务实现,一定是子类替代父类(父类变量,子类实例)
【替代的三种形态】- 父类>>>子类
- 抽象类>>>子类
- 接口>>>子类
多态的典型应用场景:
- 父类型,作为方法的参数——作为使用者,我们使用的产品具有多样性(多态)
- 父类型,作为方法的返回——作为生产者,我们产生的结果具有多样性(多态)
【总结】
使用多态,从代码的角度,就是使用者自己不要创建具体对象实例(自己创建对象实例一旦对象实例发生变化,代码也要发生变化)
多态应用中补充问题:
- 为了实现多态性,彼此使用时,都是以“父类型”的身份出现。所以,虽然都是“子类型”实例来具体完成业务,但从外部只能看到父类的资源列表
- 虽然,都是子类实例完成具体业务!但使用者无法使用其"自有的新方法,新资源"
【处理方法】- 父类即便没有实现,也可以将“想要实现的功能”以抽象的方法公开,便于后代的扩展
- 识别身份,转换类型后,使用新资源

浙公网安备 33010602011771号