亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試盡可能簡單地描述多態

嘗試盡可能簡單地描述多態

如何以一種易于理解的方式描述多態?我們可以在Internet和書籍上找到很多有關該主題的信息,例如Type polymorphism。但是,讓我們嘗試使其盡可能簡單。
查看完整描述

3 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

每個帶有簡單彈出蓋的罐子都以相同的方式打開。
作為人類,您知道可以找到任何可以打開的對象。

打開后,并非所有的罐子的行為都相同。
有些包含堅果,有些包含冒出來的假蛇。
結果取決于罐的類型,如果罐是“ CanOfNuts”或“ CanOfSnakes”,但這與如何打開它無關。您只知道可以打開任何罐頭,并且會根據您打開的罐頭類型確定某種結果。

pUnlabledCan-> Open(); //可能會給堅果,可能會給蛇。直到我們叫它才知道

Open()的通用返回類型為“ Contents”(或者我們可能決定不返回類型),因此open始終具有相同的函數簽名。

您(人類)是用戶/呼叫者。
Open()是虛擬/多態函數。
“可以”是抽象的基類。
CanOfNuts和CanOfSnakes是“ Can”類的多態子代。
每罐可打開,但具體是什么它什么具體的塔伊的內容通過某種可它是什么,它返回的定義。
看到pUnlabledCan時,您所知道的就是可以Open()它,它將返回內容。其他任何行為(例如您的臉上彈出蛇)都由特定的Can決定。


查看完整回答
反對 回復 2019-11-25
  • 3 回答
  • 0 關注
  • 668 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號