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

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

多态

前言

上周老师讲课再次讲到了多态,经过课下的消化,又有一些新的收获。学习多态还是要从基本的概念上入手,明确基本概念,下面来学习一下基本概念并与代码进行对应。通过编写代码也能够很好的检验是否学会了多态。

概念

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

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


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

我们先对应到代码中:




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


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


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






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

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

总结

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

目录
相关文章
|
编译器 C++
【C++】类和对象(下篇)
【C++】类和对象(下篇)
41 0
|
3月前
|
搜索推荐
用通俗易懂的方式解释一下多态
【10月更文挑战第13天】多态,就像是编程世界里的一场神奇魔术,它让不同的对象在面对相同的操作时,能够展现出各自独特的表现。
33 2
|
存储 编译器 C语言
【C++】类和对象(上篇)
【C++】类和对象(上篇)
68 0
|
8月前
|
Java C语言 C++
从C语言到C++④(第二章_类和对象_上篇)->类->封装->this指针(上)
从C语言到C++④(第二章_类和对象_上篇)->类->封装->this指针
52 0
|
8月前
|
存储 编译器 程序员
从C语言到C++④(第二章_类和对象_上篇)->类->封装->this指针(下)
从C语言到C++④(第二章_类和对象_上篇)->类->封装->this指针
30 0
|
8月前
|
存储 编译器 C语言
从C语言到C++④(第二章_类和对象_上篇)->类->封装->this指针(中)
从C语言到C++④(第二章_类和对象_上篇)->类->封装->this指针
37 0
|
8月前
|
存储 编译器 C语言
类和对象(上篇)
类和对象(上篇)
56 1
|
8月前
|
编译器 C++
类和对象(下篇)
类和对象(下篇)
68 1
|
8月前
|
编译器 C++
C++零基础教程(什么是多态)
C++零基础教程(什么是多态)
69 0
|
存储 编译器 C++
【C++知识点】多态
【C++知识点】多态
105 0