首頁  >  文章  >  Java  >  Java 中的混合繼承

Java 中的混合繼承

王林
王林原創
2024-08-30 15:26:241076瀏覽

繼承是JAVA語言的一種屬性,一個類別的函數和成員可以被其他類別繼承和使用。這有助於推進乾淨程式碼的使用和可重複使用性。 JAVA確實提供了不同種類的繼承,但提供了多重繼承。為了克服這個缺點,JAVA在介面的幫助下使用混合繼承。混合繼承是不同類型繼承(特別是單級繼承和多級繼承)的組合。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

混合繼承在 Java 中如何運作?

例如,有不同的類別名為「A」、「B」、「C」和「D」。假設類別“A”和“B”擴展了類別“C”。此外,另一個類別「D」擴展了類別「A」。這裡,類別「A」是子類別「D」的父類,也是父類別「C」的子類別。  這可以用下圖來證明:

Java 中的混合繼承

混合繼承的語法與普通繼承沒有什麼不同。這裡唯一需要注意的一點是,在同一個程式中實作了多個繼承來實現這一結果。此功能的優點是可以在現有功能的基礎上添加功能,從而減少編碼人員從頭開始編寫程式碼的工作。

Java 中的混合繼承範例

說明: 下面的程式碼片段示範了 JAVA 中混合繼承的工作原理。在下面的程式碼中,使用函數名稱 display() 宣告了四個類別。 Display() 函數傳回 void,但內部呼叫 println() 函數在輸出畫面中列印字串。 Println()函數是JAVA使用java輸入輸出庫在輸出螢幕上列印字串的標準函數。它接受一個字串作為分號下捕獲的參數。

這裡的主要類別是test4。主類別是聲明 main 函數的類別。這裡主類聲明為:

public static void main(String args[])

這個main函數接受一個字串作為輸入參數並回傳void。該函數預設是公共的,並且是程式執行時第一個呼叫的函數。 main 函數建立了一個主類別「test4」的物件。類別test4的物件是「object」。該物件正在呼叫一個函數顯示。 test4 的顯示函數中的字串因此被印出來。

這裡要注意的是test4類別繼承了test1類別的屬性。 Test1 又繼承了 test3 的屬性。測試 2 也繼承了測試 3 的屬性。因此有兩個類別繼承測試3,它們是:測試1和測試2。所以在這裡我們可以看到不同類型的繼承,例如單一繼承和分層繼承。  上面的例子是一個層次繼承和單一繼承的例子。

類別 test1 和 test2 擴充了類別 test3 → 分層繼承

類別 test4 擴充類別 test1 → 單繼承

下面的程式碼可用於了解其工作原理。

代碼:

//Class test3 which works as a parent class for other two child classes.
class test3
{
// this function is used to class print function. This function name is used in other class as well but with other string in it. This feature in JAVA is called as function overloading.
public void display()
{
System.out.println("the program control is in class test3");
//JAVA standard function to print the string in the output screen.
}
}
//Here test1 class in extending test3’s function. This is hierarchal inheritance.
class test1 extends test3
{
//JAVA function overloading. Same function name is used again in the other class.
public void display()
{
System.out.println("the program control is in class test1");
}
}
//Here test2 class in extending test3’s function. This is hierarchal inheritance.
class test2 extends test3
{
public void display()
{
System.out.println("the program control is in class test2");
}
}
//This is the main class which is extending test1. Such inheritance is called a single inheritance.
class Main extends test1
{
public void display()
{
System.out.println("The program control is in class test4 and It is an example \n to demonstrate the working of hybrid inheritance in JAVA.");
}
public static void main(String args[]){
//”object” objet is created by instantiating test4 class. His class is then used to call display() function from class test4.
Main object = new Main();
object.display();
}
}

輸出:

由於主類別在test4中,所以java程式應該以「test4.java」的名稱保存。

在CMD中,我們需要導航到保存該文件的路徑。在本例中,我將文件保存在桌面上。然後輸入“JAVAC test4.JAVA”編譯程式。編譯完成後,可以在桌面上看到一個名為「test4.class」的新檔案。這是JAVA的可執行檔。它由系統以與主文件名相同的名稱保存,但只是名稱從 .java 更改為 .class。然後我們可以使用命令“JAVA test4”執行該檔案並找到輸出結果。

Java 中的混合繼承

結論

混合繼承是一種在一個中實現兩種不同繼承類型功能的好方法。他由JAVA提供的特性使得程式碼可重複使用。 JAVA 不支援多重繼承,但可以藉助介面和繼承來享受此功能。當我們嘗試在程式碼中採用程式碼可重用性、多態性和封裝等標準實踐以符合行業標準時,這非常有用。這些做法確保了在較長時間內輕鬆維護程式碼。

以上是Java 中的混合繼承的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn