我在創建課程時多次問過自己這個問題,尤其是那些涉及館藏的課程,但我從來沒有想出滿意的答案。這是一個OOP設計問題。我應該實例化一個集合還是從集合繼承?
例如,在支票簿註冊程序中說我有一類BankAccount
。 BankAccounts包含的數據涉及賬戶名稱,賬戶類型(檢查,保存,枚舉的枚舉)以及其他數據,但最重要的是賬戶中的賬戶(存款或取款)的集合。
在這裏,我有保持調整的集合兩種選擇:
- 實例化的集合,並將其作爲BankAccount類中的一員。這就像是說「BankAccount 有一系列調整」。
- 繼承集合。這就像是說「BankAccount 是調整集合。」
我認爲這兩種解決方案都很直觀,當然,兩者都有一些優點和缺點。例如,實例化允許類(僅允許單個基類的語言)從另一個類繼承,而從繼承繼承的類可以很容易地控制Add,Remove和其他方法,而無需編寫代理方法來「包裝'那些。
那麼,在這種情況下,哪種方法更好?
看看這篇文章:http://www.javaworld.com/javaworld/jw-08-2003/jw-0801-toolbox.html 它描述了繼承如何降低可維護性。 – Ozan 2010-02-11 17:44:09