多態(tài)為什么這樣實(shí)現(xiàn)
為什么要用基類的指針指向一個(gè)派生類的對(duì)象,才能實(shí)現(xiàn)多態(tài)呢?
基類的指針指向一個(gè)派生類的對(duì)象是一個(gè)什么實(shí)現(xiàn)機(jī)制呢?
為什么用基類指針指向一個(gè)派生類的對(duì)象首先找到的是派生類的虛函數(shù)指針?這個(gè)找的過程具體是怎么樣的呢?
為什么要用基類的指針指向一個(gè)派生類的對(duì)象,才能實(shí)現(xiàn)多態(tài)呢?
基類的指針指向一個(gè)派生類的對(duì)象是一個(gè)什么實(shí)現(xiàn)機(jī)制呢?
為什么用基類指針指向一個(gè)派生類的對(duì)象首先找到的是派生類的虛函數(shù)指針?這個(gè)找的過程具體是怎么樣的呢?
2019-10-05
舉報(bào)
2019-10-16
舉個(gè)例子:
假設(shè)不使用多態(tài),一個(gè)代碼框架寫好了,功能是:一個(gè)計(jì)算圖形Shape的面積.
假設(shè)我們最開始只有矩形,那么我們?cè)谛枰?jì)算圓形的面積的時(shí)候需要修改框架內(nèi)的代碼.
如果我們使用了多態(tài),那么只需要讓圓形繼承Shape, 只需要新增圓形計(jì)算面積的代碼,不需要修改核心代碼.
這樣邏輯更清晰,更安全.在成千上萬(wàn)甚至幾十萬(wàn)代碼的項(xiàng)目中,這個(gè)就非常有用了.