我知道,當我們在我們自己的基類中有一個虛函數,然後通過在派生類中覆蓋它並考慮在變量聲明時進行投射時,我們與在派生類中使用新修飾符進行比較的結果不同。但爲什麼?是否有任何合乎邏輯的原因,或者我們必須在沒有任何理由的情況下學習?基於什麼邏輯的原因,虛擬和新修飾符在繼承和多態性問題上有不同的結果?
0
A
回答
0
我假設你指的是C#。
基本上,當子類方法與超類方法無關時,使用new
修飾符。他們分享名字,但沒有共同的多態行爲。當你多態重新定義名稱時,這被稱爲覆蓋。
0
而不是使用新的運營商,我會建議爲該方法選擇一個不同的名稱。
相關問題
- 1. 多重繼承 - 虛擬修飾符
- 2. 我的do ...邏輯和繼續邏輯有什麼問題?
- 3. 純虛擬繼承,多繼承和C4505
- 4. 多態性/繼承問題與虛擬類的成員函數
- 5. 問題在虛擬繼承
- 6. 關於C++接口(純虛擬類)/多繼承/虛繼承的設計問題
- 7. 虛擬基類在多級繼承中的用途是什麼?
- 8. 關於虛基類和虛擬繼承在C++
- 9. 關於多繼承和虛繼承
- 10. 什麼是多重虛擬繼承?
- 11. 非訪問修飾符的繼承
- 12. Square和Rectangle繼承有什麼問題?
- 13. 繼承和多態的問題
- 14. 不合邏輯的HTML和CSS繼承?
- 15. 虛擬繼承和在基類空的虛函數表
- 16. 多虛擬繼承
- 17. 虛擬繼承和同名成員
- 18. 繼承和虛擬方法
- 19. 虛擬繼承和接口
- 20. 常量和虛擬繼承
- 21. 虛擬類和繼承
- 22. 邏輯和虛擬地址
- 23. 虛擬方法和多重繼承
- 24. C++多重繼承和虛擬類
- 25. 虛擬多重繼承和指針
- 26. C++多繼承和虛擬桌面
- 27. C++多重和虛擬繼承
- 28. 虛擬多重繼承和鑄造
- 29. 爲什麼多個類繼承鑽石問題和多接口繼承沒有?
- 30. 多態性和繼承
你問的一個例子會使問題更清楚 – 2009-07-07 08:38:32