面向对象-理解多态看这一篇博客就行了

多态

  • ​​前言​​
  • ​​概念​​
  • ​​总结​​

前言

上周老师讲课再次讲到了也能够很好的检验是否学会了多态。

概念

多态是指为不同数据类型的实体提供统一的接口,同一操作作用于不同的对象,可以有不同的解释产生不同的执行结果.

这是对多态的一种解释。整体上看有点复杂不知道怎么入手,我们先用计算机思维逐层拆解。先拆为两部分,第一部分:为不同数据类型的实体提供统一的接口和第二部:同一操作作用于不同的对象,可以有不同的解释产生不同的执行结果.

我们先来看前一部分,什么是不同类型的实体,什么统一的接口。

我们先对应到代码中:

在这一张图的代码中,不同的实体类型是用方框圈住他们表示不同的运算工厂,分别表示加法工厂、减法工厂、乘法工厂、除法工厂。

统一的接口体现在用椭圆框住的部分,我们可以看出他们都实现了统一的接口也就是CreateOperation()方法。

我们再来看第二部分:同一操作作用于不同的对象,可以有不同的解释产生不同的执行结果.

面向对象-理解多态看这一篇博客就行了

面向对象-理解多态看这一篇博客就行了

面向对象-理解多态看这一篇博客就行了

什么是同一操作,不同对象,什么是不同的解释 产生不同的执行结果

首先我们先来看第一张图,从第一张图我们可以看到,同一操作是都调用了CreateOpertion()方法,不同对象是传给CreateOpertion是加法对象 和减法对象,不同的执行结果,来看最后一张图。getresult()返回的值不一样。

总结

觉得博主解释的有问题,欢迎进行评论或者是私信,博主还是程序小白,如有解释有误请直接指出,一起进步。