什麼是 C++ 中的混合繼承? 它是帶有示例的類型

已發表: 2021-05-27

我們經常在編程上下文中使用術語“繼承”。 這是在編程中實踐的一個功能,可以最好地重用代碼。 如果您回想 OOP(面向對象編程)中的“IS-A”概念,您會發現它基於繼承特性。 繼承的實現將幫助您獲得 C++ 中的高級項目想法

目錄

什麼是繼承?

在繼承過程中,一個類的對象獲取另一個類的屬性和行為。 這裡從現有的基類派生了一個新類。 派生的成員類通常稱為子類和父類的基類成員。 子類派生後,繼承父類的所有屬性和方法。

此外,子類可以具有其專用的專用屬性和方法。 本地添加到現有類的附加功能不會影響它從父類繼承的屬性。 因此,新類將具有兩個類的組合特徵。

C++ 中的繼承

通常,實際上,程序員需要開發一個必須:
1) 擁有其父母的所有品質,此外,
2)在某些方面,堅持是特別的。

在主類中編碼這些特殊屬性可能不一定是實用和經濟的。 在這種情況下,通過擴展基類派生一個新類。 此外,它是從另一個具有附加品質的類中派生出來的。 通過這種方式,您可以重用、擴展或修改在其他類中定義的屬性和行為。 因此,從多個類派生的子類提供了一個易於維護和移植的對象。 派生類是基類的專用類。

從技術上講,關鍵字“extends”用於繼承​​一個類。 C++ 使用冒號(“ : ”)符號從類繼承。

繼承類型

繼承和實現的組合的使用在派生類的目的上有所不同。 C++ 中有不同類型的繼承可用,如下所示:

  • 單一繼承是派生類從單個基類繼承屬性和行為的地方。 示例:A 類 → B 類。
  • 分層繼承是從單個基類創建多個派生類的地方。 示例:A 類 → B 類 → C 類。
  • 多重繼承用於從多個基類派生一個類。 在這裡,程序員創建的子對象將具有來自多個父類的特徵和特性的組合方面。 這些對象確實遵循它們的基類層次結構。
  • 多級繼承是子類從另一個派生類派生的地方。 此功能包含多個類的組合方面並遵循它們的層次結構。
  • 混合繼承是使用多重繼承的異構特性。 在這裡,子類派生自一個或多個單級、分層和多級繼承的組合。 這種繼承用於程序混合不同類型的繼承; 例如,當混合單一繼承和多重繼承時,或者在一個程序中混合多重繼承的情況。

簡單示例

這裡 B 類和 C 類都派生自基類 A 類。

Cars 的層次分類顯示了兩個類別。 “Petrol Cars”和“Electric Cars”都源自基類“Cars”。

C++中的混合繼承

在某些情況下,我們需要結合使用兩種或多種類型的繼承來設計程序。 當一個程序涉及不止一種類型的繼承時,它被稱為混合繼承。

混合繼承是簡單繼承、多重繼承和層次繼承的結合。 通常,在多重繼承中,一個類派生自兩個類,其中一個父類也是派生類而不是基類。

C++中的混合繼承是一種繼承,其中一個類派生自一種以上的形式或任何繼承的組合。 C++中混合繼承也稱為多路徑繼承,其中一個派生類可以在不同路徑中繼承基類的屬性。 有時也稱為多路徑繼承。 例如,它可以通過結合多級和分層繼承來實現。

簡而言之,混合繼承是兩種或多種繼承類型的組合。 例如,通過在同一個程序中實現單級和多級繼承。

混合繼承框圖

該圖表示兩種繼承的混合組合; 單繼承和多繼承。 在這裡,在單繼承中,類B派生自類A 同樣,在多重繼承中, D是從多個類繼承而來的。 這裡B類和C因此,單繼承和多繼承的混合形成了混合繼承。

混合繼承適用於我們需要在一個程序中應用多個繼承的場景。

C++中混合繼承的語法

C++中混合繼承的典型語法和語義如下所示:

C++ 中的混合繼承示例

示例 1:單繼承 + 多繼承

讓我們看看如何實現單繼承和多繼承。

該圖中的每個塊代表一個類,對應的箭頭代表一個類的繼承。

示例 2:單級 + 多級繼承

我們還可以實現其他類型的繼承來構成混合繼承。

讓我們考慮一個實時示例

我們從 Vehicle 類派生了一個汽車子類。 另一類是賽車的特徵。 當我們從 Car 類和 Racing 類派生最終實體時,它將給出組合輸出。 這個衍生品就是法拉利——賽車。

這是一個簡單的程序來說明C++ 中混合繼承的概念

示例代碼

輸出

從世界頂級大學在線學習軟件開發課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

結論

希望本文能幫助您理解C++ 中混合繼承的概念和類型 計算機和計算相關課程的學生可以提高他們的技能和技術可信度,例如 OOP 概念。 upGrad提供資源和知識庫,以鼓勵這些專業人員在編程方面具有專業知識並在行業市場中競爭。 在 upGrad,您還有機會探索專業網絡和技能發展。

我們希望您在執行這些 C++ 項目時有一個很好的學習機會。 如果您有興趣了解更多信息並需要行業專家的指導,請查看 upGrad & IIIT Banglore 的全棧軟件開發執行 PG 計劃

什麼是面向對象編程中的繼承?

繼承是一種重用代碼的機制,它有助於模擬現實世界。 它擴展了 OOP 中數據抽象的概念。 它是一個類獲取另一個類的屬性的過程。 OOP 的基本原則是一個類只能根據另一個類來定義。 這是因為抽象的概念。 繼承是一種使新對像類與其他對象處於同一類層次結構中的機制。 繼承的主要好處是代碼重用。 這是一種重用代碼的方式。 如果你有一個類並且它完成了一項特定的工作,你也可以將它用於另一項工作。 只是說,汽車和卡車做同樣的工作,所以你可以使用相同的代碼來駕駛它們。

C ++中的3個繼承範圍是什麼?

C++ 中的繼承範圍是私有的、受保護的和公共的。 私有繼承是一個類從另一個類繼承,但派生類不能在該類之外訪問。 這些類型的繼承只能在基類不打算在類外部訪問時使用。 當基類不打算在類外訪問而打算在類外訪問時,使用受保護的繼承。 當基類要在類外部訪問時,使用公共繼承。

什麼是 C++ 中的多重繼承?

多重繼承是從多個類派生一個類的能力。 此功能在 C 中不可用。這是支持面向對象編程的 C++ 最重要的功能之一。 C++中多重繼承的實現是基於繼承類的概念。 多重繼承是一種支持面向對象編程模型的機制,可以用來解決一些問題,例如行為重用和代碼重用。 代碼重用一直是 C++ 中的一個問題,因為 C++ 只支持單繼承。 多重繼承是通過將多個接口組合成一個對象來實現的。