ホームページ > Java > &#&チュートリアル > Java におけるハイブリッド継承

Java におけるハイブリッド継承

王林
リリース: 2024-08-30 15:26:24
オリジナル
1168 人が閲覧しました

継承は Java 言語のプロパティであり、あるクラスの関数とメンバーを他のクラスが継承して使用できます。これは、クリーンなコードの使用と再利用性を高めるのに役立ちます。 JAVA はさまざまな種類の継承を提供しますが、多重継承も提供します。この欠点を克服するために、JAVA はインターフェースを利用したハイブリッド継承を使用します。ハイブリッド継承は、さまざまなタイプの継承 (特に、単一レベルおよびマルチレベルの継承) の組み合わせです。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

Java でのハイブリッド継承はどのように機能しますか?

たとえば、「A」、「B」、「C」、「D」という名前のさまざまなクラスがあります。クラス「A」と「B」がクラス「C」を拡張するとします。また、別のクラス「D」はクラス「A」を拡張します。ここで、クラス「A」は、子クラス「D」の親クラスであり、親クラス「C」の子クラスでもあります。  これは、以下の図で示すことができます:

Java におけるハイブリッド継承

ハイブリッド継承の構文は、通常の継承と変わりません。ここでさらに注意すべき点は、結果を得るために同じプログラムに複数の継承が実装されていることです。この機能には、既存の機能の上に機能を追加できるため、コーダーがコードを最初から作成する作業が軽減されるという利点があります。

Java でのハイブリッド継承の例

説明: 以下のコード スニペットは、JAVA でのハイブリッド継承の動作を示しています。以下のコードでは、4 つのクラスが関数名 display() で宣言されています。 Display() 関数は void を返しますが、内部で println() 関数を呼び出して出力画面に文字列を表示します。 Println() 関数は、Java 入出力ライブラリを使用して出力画面に文字列を印刷する Java の標準関数です。セミコロンの下にキャプチャされたパラメータとして文字列を受け取ります。

ここでのメインクラスは test4 です。メインクラスは、main 関数が宣言されているクラスです。ここでメインクラスは次のように宣言されています:

public static void main(String args[])
ログイン後にコピー

このメイン関数は入力パラメータとして文字列を受け取り、void を返します。この関数はデフォルトでパブリックであり、プログラムの実行時に呼び出される最初の関数です。 main関数にはメインクラス「test4」のオブジェクトが作成されています。クラスtest4のオブジェクトは「object」です。このオブジェクトは関数表示を呼び出しています。したがって、test4 の表示関数の文字列が出力されます。

ここで注目すべき点は、test4 クラスがクラス test1 のプロパティを継承していることです。次に、Test1 は test3 のプロパティを継承します。テスト 2 は、テスト 3 のプロパティを継承します。したがって、test 3 を継承する 2 つのクラス、test 1 と test2 が存在します。ここでは、単一継承や階層継承など、さまざまなタイプの継承を確認できます。  上記のケースは、階層型および単一継承の例です。

クラス 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 におけるハイブリッド継承

結論

ハイブリッド継承は、2 つの異なる継承タイプの機能を 1 つで実現する優れた方法です。 JAVA によって提供されるこの機能により、コードの再利用が可能になります。 JAVA は多重継承をサポートしていませんが、この機能は継承とともにインターフェイスを利用することで楽しむことができます。これは、コードの再利用性、ポリモーフィズム、カプセル化などの標準的な手法をコード内で業界標準に合わせようとする場合に非常に役立ちます。これらのプラクティスにより、長期間にわたるコードのメンテナンスが容易になります。

以上がJava におけるハイブリッド継承の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート