多态及实现方式

时间:2020-03-11 01:18:38   收藏:0   阅读:45

什么是多态?

  一句话解释多态:多态就是一个事物多种形态,就是同一符号或者名字在不同情况下具有不同解释的现象。

  多态是同一个行为具有多个不同表现形式或形态的能力。

  多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:

技术图片

   

  多态性是对象多种表现形式的体现。比如下面这个例子:

 现实中,比如我们按下 F1 键这个动作:

  • 如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;
  • 如果当前在 Word 下弹出的就是 Word 帮助;
  • 在 Windows 下弹出的就是 Windows 帮助和支持。

同一个事件发生在不同的对象上会产生不同的结果。

 

为什么需要多态?

   我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。代码重用,也称代码复用, 就是说你把一个功能写成一个模块, 以便再次需要相同功能的时候,可以直接使用,而不用重新开发。

举例: 假如你的网站需要验证码, 你就可以把验证码这个功能单独提取出来以便复用。
通常代码复用是通过类与对象来实现的, 这也是面向对象编程与面向过程编程最主要的区别之一。

  作为面向对象的三大特性之一,多态也有代码重用的功能,还有解决项目中紧耦合的问题,提高程序的可扩展性。

举例:添加一个子类,继承父类,重写父类的方法。至此,该程序的扩展性得到了提升,而又不需要查看源代码是如何实现的就可以扩展新功能。

 

 多态的实现方式

  1.用抽象类实现多态

  2.用接口实现多态

  接口与抽象类的区别

    抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来说,属于“是”的关系;而接口是定义行为规范,因此对于实现接口的子类来说,相对于接口来说,是“行为需要按照接口来完成”。

 

参考链接

[1]https://www.runoob.com/java/java-polymorphism.html

[2]https://blog.csdn.net/ellen5203/article/details/87342706

[3]https://www.runoob.com/java/java-polymorphism.html

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!