サイズ: 828
コメント:
|
サイズ: 1961
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 33: | 行 33: |
chain型(クラス)の変数aは、42e816番地にあるchainクラスのインスタンスを指しています。 | |
行 34: | 行 35: |
実行結果は | === 練習 === 変数aの指しているインスタンス内にある変数nextについて考えます。 |
行 36: | 行 38: |
nextもまたchain型(クラス)の変数ですから、 nextを使って他のインスタンスを指すことができます。 図のようにするための処理を書きましょう。 |
|
行 37: | 行 43: |
後ろにつながれるほうのインスタンスがbで参照できるときは、 このように書けます。 {{{#!java Chain a, b; a = new Chain(); b = new Chain(); ... a.next = b; ... }}} 後ろにつながれるインスタンスをその場で作成してよいときは、 このようもに書けます。 {{{#!java Chain a; a = new Chain(); ... a.next = new Chain(); ... }}} こうしていくつものインスタンスをチェーンのようにつなぐことができます。 ##でも長くつながったときに、 ##a.next.next.next.next.next ##のようにして参照するのではたいへんです。 ##良い方法は次のページで。 |
オブジェクトをつなぐ
たくさんのオブジェクトを扱う方法の1つを学びます。
このような Chainクラスを考えましょう。
クラス図は
クラスのインスタンスはこのように表せます。
例1
このmainメソッドを実行すると、例えばこのように表示されます。
このときの変数やオブジェクトの対応は次のように表せます。
chain型(クラス)の変数aは、42e816番地にあるchainクラスのインスタンスを指しています。
練習
変数aの指しているインスタンス内にある変数nextについて考えます。
nextもまたchain型(クラス)の変数ですから、 nextを使って他のインスタンスを指すことができます。
図のようにするための処理を書きましょう。
後ろにつながれるほうのインスタンスがbで参照できるときは、 このように書けます。
後ろにつながれるインスタンスをその場で作成してよいときは、 このようもに書けます。
こうしていくつものインスタンスをチェーンのようにつなぐことができます。