繼承_(計算機科學)

繼承 （ inheritance ） 是面向對象軟件技術當中的一個概念 。 如果一個類別B 「 繼承自 」 另一個類別A ， 就把這個B稱爲 「 A的子類 」 ， 而把A稱爲 「 B的父類別 」 也可以稱 「 A是B的超類 」 。 繼承可以使得子類具有父類別的各種屬性和方法 ， 而不需要再次編寫相同的代碼 。 在令子類別繼承父類別的同時 ， 可以重新定義某些屬性 ， 並重寫某些方法 ， 即覆蓋父類別的原有屬性和方法 ， 使其獲得與父類別不同的功能 。 另外 ， 爲子類追加新的屬性和方法也是常見的做法 。 一般靜態的物件導向程式語言 ， 繼承屬於靜態的 ， 意即在子類別的行爲在編譯期就已經決定 ， 無法在執行期擴充 。 有些編程語言支持多重繼承 ， 即一個子類可以同時有多個父類別 ， 比如C + + 編程語言 ； 而在有些編程語言中 ， 一個子類只能繼承自一個父類別 ， 比如Java編程語言 ， 這時可以透過實作接口來實現與多重繼承相似的效果 。 現今物件導向程式設計技巧中 ， 繼承並非以繼承類別的 「 行爲 」 爲主 ， 而是繼承類別的 「 型態 」 ， 使得元件的型態一致 。 另外在設計模式中提到一個守則 ， 「 多用合成 ， 少用繼承 」 ， 此守則也是用來處理繼承無法在執行期動態擴充行爲的遺憾 。