繼承 (電腦科學)

繼承英文inheritance)係物件導向編程上嘅一個概念。喺物件導向編程當中,繼承係指物件類別之間可以有嘅一種關係。抽象啲噉講,如果話物件類別 A 由類別 B 嗰度「繼承」啲嘢,意思係指類別 B(超類別;superclass / parent)有嘅特性,類別 A(子類別;subclass)冚唪唥都有,不過類別 A 可以有類別 B 冇嘅特性。噉做用意通常係因為類別 A 所表示嘅事物概念上係類別 B 所表示嘅事物嘅一種,而用繼承嘅做法可以令到寫程式嗰陣慳返好多時間精神[1]

繼承嘅圖解;子類別會自動噉得到超類別嘅特性。

舉個例說明,想像家陣有個遊戲程式,個程式要展示一個虛擬世界,個世界入面有 Animal動物)呢個類別,呢個類別具有一柞特性(data1data2),亦有柞特定嘅方法,例如係包含教個程式隻虛擬動物要點樣郁動嘅子程序(move());而又有若干件物件屬 Dog)呢個子類別,呢個類別由 Animal 呢個超類別嗰度繼承咗 move() 呢個方法(即係話無論係虛擬狗定第啲虛擬動物,個程式都會用同一個子程序嚟計算隻動物要點樣郁動),同時 Dog 又有 bark())呢個佢獨有嘅方法,呢個方法係淨係屬 Dog 嘅物件先至會用到嘅。用繼承嘅做法會方便,因為個設計者唔使種種動物都同佢哋設一個類別同埋重新打過嗮啲好似 move() 噉種種動物都要用嘅碼[1][2]

例子碼

睇埋:物件導向編程

例如係好似以下呢段簡化嘅 C# 碼噉:

class Dog : Animal { // 創造一個 class 叫 Dog,呢個 class 嘅 superclass 係 Animal。
    // Dog 要做嘅嘢...
    public Dog()
    {
        Console.WriteLine("Dog");
    }
}

睇埋

  1. 1.0 1.1 Johnson, Ralph (August 26, 1991). "Designing Reusable Classes" (PDF). www.cse.msu.edu.
  2. Jacobsen, Ivar; Magnus Christerson; Patrik Jonsson; Gunnar Overgaard (1992). Object Oriented Software Engineering. Addison-Wesley ACM Press. pp. 43–69.