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