Java 委譲のサンプル

Javaの委譲のサンプルです。

目次

委譲

  • メソッドを実行するとき、他のクラスのメソッドを利用します。
    →メソッドの処理を委譲(ゆだねる、ゆずる)します。
  • 他のクラスのメソッドを使用するので、同じメソッドを実装しなくてよくなります。
    →再利用するイメージです。
  • 委譲は、英語ではdelegationです。

委譲のサンプルのコード

委譲のサンプルのコードです。
説明用として3つのクラスがあります。

1つめは、処理を実行しているクラスです。
6行目でColor1クラスのインスタンスを生成し、8行目でColor1クラスのメソッドを実行します。

package test1;

public class Test1 {
    public static void main(String[] args) {        

        Color1 c1 = new Color1();
        
        c1.method1(); //赤です
    }
}

 

2つめは、委譲しているColor1クラスです。
5行目は、Color2クラスのインスタンスを生成しています。
7行目のmethod1メソッドは、Color1クラスのメソッドですが、実態は8行目でColor2クラスのメソッドを実行しています。これが委譲です。→Color1クラスのメソッドの処理をColor2クラスのメソッドの処理に委譲(ゆだねる、ゆずる)しています。
5行目の書き方で委譲先を記述しています。そのため委譲先の変更も容易です。

package test1;

public class  Color1 {

    Color2 c = new Color2();
    
    public void method1() {
        c.method2();
    }
}

 

3つめは、実際の処理を記述したColor2クラスです。
6行目は、文字列を出力しています。

package test1;

public class Color2 {
    
    public void method2() {
        System.out.println("赤です");
    }
}

関連の記事

Java クラスのサンプル
Java コンストラクタのサンプル
Java クラスの継承のサンプル
Java 匿名クラスのサンプル
Java ネストしたクラスのサンプル(内部クラス)
Java クラスの変数のサンプル(メンバー変数/ローカル変数)
Java 変数の型変換のサンプル(基本型と参照型)
Java インスタンスの型を調べるサンプル(instanceof)
Java クラスのthisのサンプル
Java インターフェースのサンプル
Java 抽象メソッドと抽象クラスのサンプル(abstract)
Java シングルトンのサンプル
Java ポリモフィズムのサンプル
Java staticメソッドとstatic変数のサンプル



△上に戻る