サイズ: 366
コメント:
|
サイズ: 1673
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 13: | 行 13: |
クラス図は . {{attachment:chain1.png}} クラスのインスタンスはこのように表せます。 . {{attachment:chain2.png}} ---- === 例1 === {{{#!java public static void main(String[] args) { Chain a; |
|
行 14: | 行 24: |
. {{attachment:chain1.png}} . {{attachment:chain2.png}} |
a = new Chain(); System.out.println(a); } }}} このmainメソッドを実行すると、例えばこのように表示されます。 . {{attachment:chain5.png}} このときの変数やオブジェクトの対応は次のように表せます。 |
行 17: | 行 33: |
chain型(クラス)の変数aは、42e816番地にあるchainクラスのインスタンスを指しています。 ---- === 練習 === 変数aの指しているインスタンス内にある変数nextについて考えます。 nextもまたchain型(クラス)の変数ですから、 nextを使って他のインスタンスを指すことができます。 図のようにするための処理を書きましょう。 |
|
行 18: | 行 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(); ... }}} |
オブジェクトをつなぐ
たくさんのオブジェクトを扱う方法の1つを学びます。
このような Chainクラスを考えましょう。
クラス図は
クラスのインスタンスはこのように表せます。
例1
このmainメソッドを実行すると、例えばこのように表示されます。
このときの変数やオブジェクトの対応は次のように表せます。
chain型(クラス)の変数aは、42e816番地にあるchainクラスのインスタンスを指しています。
練習
変数aの指しているインスタンス内にある変数nextについて考えます。
nextもまたchain型(クラス)の変数ですから、 nextを使って他のインスタンスを指すことができます。
図のようにするための処理を書きましょう。
後ろにつながれるほうのインスタンスがbで参照できるときは、 このように書けます。
後ろにつながれるインスタンスをその場で作成してよいときは、 このようもに書けます。