2017-09-01 80 views
0

我正在從頭學習OOP。我對繼承和聚合有一些困惑。在研究網絡後,我更加困惑的是繼承與Aggregation相反嗎?這是真的嗎?繼承的相反部分是什麼?

+3

這有點像說「綠色」與「三」是相反的。他們有兩個不同的目的。 –

+0

也許你正在考慮[*聚合*與*組合*](https://softwareengineering.stackexchange.com/questions/61376/aggregation-vs-composition)? – lurker

+0

「與之相反」一詞在使用軟件開發模式時沒有明確定義。 繼承和聚合是解決同一問題的兩種不同工具(粗略地說*「我怎樣才能擴展一個類的功能」*)。比較可以在這裏找到:https://stackoverflow.com/q/269496/87698。我投票將其視爲重複項目,如果您不同意,請隨時編輯並澄清您的問題。 – Heinzi

回答

0

繼承是聚合的一種特殊形式。例如

免提通過手機聚合。 (聚合)
主板由IC組成。 (構圖)
警察是一個人。 (繼承)

這些類型的關聯的從弱到強

協會 - >在一起的匯聚>組合物 - >繼承。