跳轉到內容

C++ 程式設計

來自華夏公益教科書,開放的書籍,為開放的世界

繼承 描述了兩個(或多個)物件型別或類之間的關係,其中一個被稱為另一個的“子型別”或“子類”;因此,“子類”物件被認為是繼承了父類的特徵,從而允許共享功能。這使得程式設計師可以重用或減少程式碼,並簡化軟體的開發和維護。

繼承通常也被認為包括子型別化,其中一種型別的物件被定義為另一種型別的更專業版本(參見Liskov 替換原則),儘管非子型別化繼承也是可能的。

繼承通常透過描述物件排列在繼承層次結構中(也稱為繼承鏈)來表達,繼承層次結構是它們繼承關係建立的樹狀結構。

例如,人們可以建立一個名為“哺乳動物”的可變類,具有進食、繁殖等特徵;然後定義一個子型別“貓”,它繼承了這些特徵而無需顯式地對它們進行程式設計,同時添加了諸如“追捕老鼠”之類的新的特徵。這允許在不同型別的物件之間表達一次並多次重用共同點。

在 C++ 中,我們可以有與其他類相關的類(可以透過使用較舊的、預先存在的 來定義一個類)。這導致了一種情況,即新類具有舊類的所有功能,並且還引入了它自己特定的功能。我們這裡指的是派生,而不是組合,在組合中,給定的類包含另一個類,而這裡,給定的類是另一個類。

當我們討論本書中類繼承部分中的類(和結構)繼承時,將進一步解釋這個 OOP 屬性。

如果人們想要同時使用多個完全正交的層次結構,例如允許“貓”從“卡通人物”和“寵物”以及“哺乳動物”繼承,我們正在使用多重繼承

華夏公益教科書