猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
尝试尽可能简单地描述多态
如何以一种易于理解的方式描述多态?
我们可以在Internet和书籍上找到很多有关该主题的信息,例如Type polymorphism。但是,让我们尝试使其尽可能简单。
江户川乱折腾
浏览 632
回答 3
3回答
海绵宝宝撒
每个带有简单弹出盖的罐子都以相同的方式打开。作为人类,您知道可以找到任何可以打开的对象。打开后,并非所有的罐子的行为都相同。有些包含坚果,有些包含冒出来的假蛇。结果取决于罐的类型,如果罐是“ CanOfNuts”或“ CanOfSnakes”,但这与如何打开它无关。您只知道可以打开任何罐头,并且会根据您打开的罐头类型确定某种结果。pUnlabledCan-> Open(); //可能会给坚果,可能会给蛇。直到我们叫它才知道Open()的通用返回类型为“ Contents”(或者我们可能决定不返回类型),因此open始终具有相同的函数签名。您(人类)是用户/呼叫者。Open()是虚拟/多态函数。“可以”是抽象的基类。CanOfNuts和CanOfSnakes是“ Can”类的多态子代。每罐可打开,但具体是什么它做什么具体的塔伊的内容通过某种可它是什么,它返回的定义。看到pUnlabledCan时,您所知道的就是可以Open()它,它将返回内容。其他任何行为(例如您的脸上弹出蛇)都由特定的Can决定。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
源码
spark分组排序提取前N个值
1 回答
请问转让门店小程序需要源码吗?门店小程序有自己的源代码吗?是否要注册计算机软件著作权才可以交易?
1 回答
算法与数据结构
数据结构中,与所使用的计算机无关的数据是什么?
1 回答
学完C语言之后是先学数据结构还是先学JAVA好呢?
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续