== オブジェクトを沢山つなぐ == オブジェクトを沢山つなぐための方法を考えましょう。 ---- === 例1 === 2つのオブジェクトを図のようにつなぐための処理を書きました。 . {{attachment:chain4.png}} その方法の1つは、別の変数 b を使って行うものでした。 {{{#!java Chain a, b; a = new Chain(); b = new Chain(); ... a.next = b; ... }}} この処理を追ってみましょう。 2つのインスタンスが作られた段階ではこのようになっています。 . {{attachment:chain20.png}} この後で {{{ a.next = b; }}} を行うと、2つのオブジェクトがつながります。 . {{attachment:chain21.png}} このように配置を変えても同じです。 . {{attachment:chain22.png}} 変数 b が2つめのオブジェクトを指しているのを無視すれば、 変数 a に2のオブジェクトがつながったと見ることができます。 ---- === 例2 === では、このような状態のときに . {{attachment:chain23.png}} 代入 {{{ a.next = b; }}} を行うとどうなるでしょうか。 . {{attachment:chain24.png}} のようにつながり、 変数 a の先に3のオブジェクトがつながりました。 ---- === 例3 === 例2で 変数 b の先に沢山のオブジェクトがつながっているときでも、 同じ処理ができます。