オブジェクトをつなぐ

たくさんのオブジェクトを扱う方法の１つを学びます。

このような Chainクラスを考えましょう。

public class Chain
{
Chain next;
}

クラス図は

クラスのインスタンスはこのように表せます。

例１

public static void main( String[] args)
{
Chain a;
a = new Chain();
System. out. println( a);
}

このmainメソッドを実行すると、例えばこのように表示されます。

このときの変数やオブジェクトの対応は次のように表せます。

chain型(クラス)の変数aは、42e816番地にあるchainクラスのインスタンスを指しています。

練習

変数aの指しているインスタンス内にある変数nextについて考えます。

nextもまたchain型(クラス)の変数ですから、 nextを使って他のインスタンスを指すことができます。

図のようにするための処理を書きましょう。

後ろにつながれるほうのインスタンスがbで参照できるときは、 このように書けます。

Chain a, b;
a = new Chain();
b = new Chain();
...
a. next = b;
...

後ろにつながれるインスタンスをその場で作成してよいときは、 このようもに書けます。

Chain a;
a = new Chain();
...
a. next = new Chain();
...

こうしていくつものインスタンスをチェーンのようにつなぐことができます。