2015-05-07 57 views
1

我偶然發現了這種情況,只是認爲這種情況正在發生。如果我有類,如:面向對象的可重用性和可維護性

Class AnimalClass Dog extends AnimalClass Crocodile extends Animal

然後包裝被封閉的修改和公司購買和使用的包裝。

後來我發現,當我有一個Class AmphibianClass Mammal,我開始覺得這個班應該擴展Class Animal,然後Class Dog不應擴大到Class Animal而是Class Mammal,也Class CrocodileClass Amphibian

這種情況很危險,因爲購買和使用該軟件包的公司可能會損害他們的程序。

所以問題是: 當你後來發現該類位於已經被修改的類的層次結構之間時,程序員會做什麼?

+4

所以,你想知道如何您可以更改已達成一致的結構並關閉進行修改。那麼,你沒有。 – keyser

+1

您對場外資源的個人評價是否與此問題有任何關聯? –

+0

@keyser大多數公司是如何開發他們的庫或API的?我的意思是,人並不完美,所有事情都有可能改變。 – mubuss

回答

5

如果包裝被封閉的修改,它並不能滿足你的要求有沒有什麼可以做,如果你有不同的要求,你必須編寫自己的類,以滿足他們