Java 中的繼承類型:單、多、多級和混合

已發表: 2021-06-30

介紹

編程語言“Java”廣泛用於移動、Web、桌面等應用程序的開發。它是 Sun Microsystems 於 1995 年開發的一種健壯的、高級的、面向對象的編程語言。儘管它是一種編程語言,Java 具有 API 和運行時環境 (JRE),因此也稱為平台。

Java中有幾個概念,有四個主要概念可以掌握該語言。 它們是抽象、封裝、繼承和多態。

在本文中,我們將重點介紹 Java 中的繼承概念java 中的繼承類型

什麼是繼承?

顧名思義,繼承意味著繼承屬性。 允許類派生不同類的屬性的機制稱為繼承。 有了繼承的概念,程序中的信息可以分層組織。

在 Java 中,繼承的概念允許用戶創建類並使用現有類的屬性。

與該概念相關的一些重要術語是:

  • :它被定義為一組共享共同屬性的對象。
  • 子類:也稱為派生類或擴展類,該類繼承了另一個類的特性。 除了繼承的字段和方法之外,從類生成的類還可以添加自己的字段和方法。
  • 超類:超類表示其特徵被子類繼承的類。
  • 可重用性:可重用性技術允許用戶創建一個具有現有類的字段或方法的類(一個新類)。 它允許重用代碼。

Java繼承的重要性

在 Java 中實現繼承提供了以下好處:

  • 繼承通過最小化重複代碼來最小化代碼的複雜性。 如果另一個類必須使用相同的代碼,它可以簡單地從該類繼承到它的子類。 因此,代碼組織得更好。
  • 隨著代碼以更簡單的形式組織,代碼的執行效率會提高。
  • 多態性的概念可以與繼承一起使用。

句法

基本語法是

類超類{

—————-

}

類子類擴展超類

{

——————

—————–

}

繼承類時使用關鍵字“extends”。 它定義了超類的功能正在擴展到子類。

創建的新類稱為子類,而繼承的類稱為父類。

圖 1:應用 java 繼承的代碼示例如下所示

資源

在上面的示例中創建了兩個類 Calculation 和 My_Calculation。 方法addition() 和Subtraction() 從類計算繼承到My_Calculation。 關鍵字 extends 已用於繼承方法。

上述代碼的編譯和執行給出以下輸出。

圖 2:圖 1 中代碼的輸出

資源

My_Calculation 類的創建將超類的內容複製到子類中。 通過子類的對象,用戶可以訪問子類的成員。

在某些情況下,當我們必須區分具有相同名稱的子類成員和超類成員時,使用關鍵字“super”。 如果假設我們有兩個類 Sub_class 和 Super_class 具有相同的方法,即 display()。 該方法的實現不同但具有相同的名稱。 在這種情況下,為了區分方法超類和子類的方法,必須使用 super 關鍵字。

Java繼承的類型

在 Java 中觀察到不同類型的繼承:

1. 單級繼承

顧名思義,這種類型的繼承只發生在一個類中。 只有一個類是從父類派生的。 單繼承的流程圖如下所示:

圖 3:單級繼承的圖解說明

資源

兩個類 Class A 和 Class B如圖 3所示,其中 Class B 繼承了 Class A 的屬性。

圖 4 :應用單級繼承的代碼示例

資源

2.多級繼承

多級繼承包括至少兩個或兩個以上類的參與。 一個類繼承父類的特性,新創建的子類成為另一個新類的基類。

圖 5:多級繼承流程圖

資源

圖5的流程圖可以看出,B類是A類的派生類,C類是從B類進一步派生出來的,因此在多級繼承中就產生了祖父類的概念。 但是,在 Java 中不能直接訪問祖父母類的成員。

因此,圖 5顯示 C 類繼承了 A 類和 B 類的方法和屬性。

下面顯示了一個多級繼承的示例,其中包含三個類 X、Y 和 Z。類 Y 派生自類 X,它進一步創建了類 Z。

圖 6:多級繼承示例

資源

3.分層繼承

許多子類從一個類繼承的繼承類型稱為分層繼承。

圖 7:分層繼承的圖形表示。

圖 7中,我們可以觀察到三個類 Class B、Class C 和 Class D 是從單個 Class A 繼承而來的。所有子類在層次繼承中具有相同的父類。

圖 8:顯示層次繼承概念的代碼示例

資源

上面的代碼產生輸出

喵…

吃…

除了Java 中的這些繼承類型之外還有其他類型稱為多重繼承和混合繼承。 這兩種類型都不支持通過類,只能通過使用接口來實現。

4.多重繼承

多重繼承是一種繼承類型,其中子類可以從多個父類繼承特徵。

圖 9:多重繼承的表示

資源

圖 4 顯示 C 類派生自兩個類 A 類和 B 類。換句話說,可以描述子類 C 繼承了 A 類和 B 類的屬性。

5. 混合繼承

混合繼承是一種結合了單繼承和多繼承的繼承。 由於 Java 不支持多重繼承,因此也可以僅通過接口實現混合繼承。

圖 10:混合繼承的表示

資源

對於Java中不同類型的繼承,最終目標是創建具有從超類繼承的屬性的子類。 創建的子類具有各種屬性,它們是:

  • 子類中繼承的字段和方法可以直接使用。
  • 新的字段和方法也可以在超類中不存在的子類中聲明。
  • 可以在子類中創建與超類中的方法具有相同簽名的新實例方法。 該過程稱為覆蓋。
  • 可以在子類中創建一個新的靜態方法,該方法與超類中的方法具有相同的簽名。 該過程稱為隱藏。

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

結論

本文討論了 Java 中繼承的重要概念以及 Java 中的繼承類型 因此,繼承是我們可以重用代碼以便將一個類的屬性獲取到另一個類的機制。 這可以通過文章中所示的不同類型的繼承模式來實現。 然而,繼承的概念還有很多。 要在開發領域脫穎而出,需要掌握 Java 的複雜編程。 如果你有創新智能設備的夢想,那麼upGrad’s提供的全棧軟件開發Executive PG Program將會是最好的選擇。 該課程由利物浦約翰摩爾斯大學認證,與班加羅爾 IIIT 聯合提供 500 多個學習小時,專為早期專業人士設計。 從 upGrad 課程中學到的技能將有助於為軟件開發、Web 開發、javascript 開發人員等領域開闢機會。對 21-45 歲年齡段的任何性別開放,交互式程序可能是最佳選擇所有的編碼員。

什麼是繼承?

繼承是一個新對象獲取前一個對象屬性的過程。 例如,您可以考慮一個“人類”類。 您可能希望在類中包含人類的許多屬性,例如身高、體重等。因此,一種方法是在您的類中再次定義所有這些屬性。 這可能是學習面向對象編程的好方法,但不是一個好習慣。 最好的方法是從特定類繼承所有這些屬性。 “child”類可以繼承“human”(或“parent”)類的所有屬性。 這在面向對象編程中稱為繼承。

什麼是面向對象編程?

什麼是多重繼承?