2010-09-27 46 views
1

項目有效的Java第二版的16,在繼承青睞組成說道以下向超類和由此產生的問題添加新方法 - 可能性?

「如果超獲得在後續版本的新方法和 你運氣不好,給了子類用的方法相同的簽名 和不同的返回類型,你的子類將不再編譯。

如果你給了子類的方法具有相同簽名和返回類型爲 新的超類方法,那麼你現在覆蓋它「

這些案件在現實世界中出現的可能性有多大?任何人都可以給我一個真正的商業應用程序的例子(如果需要剝離專有信息)?

+0

這是主觀的。如果真的發生,那麼我會說這是糟糕的設計。 – 2010-09-27 06:14:57

+0

@Sagar V這是如何主觀的? – helpermethod 2010-09-27 06:30:09

+0

@Helper方法:這種現實世界的情況對許多不同的條件是主觀的。缺乏適當的設計,不完整的要求,只是運氣不好或懶惰:) – 2010-09-27 06:38:21

回答

3

這不是關於如何可能該情況是。 (此外,我相信你已經聽說過Murphy's Law

這是關於一個事實,即構成比繼承少得多的約束力合同。

繼承是一種綁定類之間行爲的非常強大的方式,基本上,條款16規定,只有在明確需要時才應使用強連接。對於所有其他用途,組成應該是優選的。