welcome: please sign in

2010-11-15 00:45:33時点のリビジョン12

メッセージを消す
location: つながったオブジェクトを表示する

つながったオブジェクトを表示する

オブジェクトの操作を行うまえに、表示のためのメソッドを作っておきます。


1つのオブジェクトを表示する

オブジェクトのアドレス(と種類)を表示するには、 オブジェクトを指している変数の値をprintすればよい。

ここで

の代わりに

と書けるようにするには、つぎのようなshowメソッドを定義すればよい。


どこも参照していないときの値

Chainクラスのインスタンスはこのような形をしています。

変数nextがどこも参照していないときは、どんな値をとればよいのでしょうか。

この値は

と決められており、オブジェクト型の変数が作られたときは、 nullで自動的に初期化されます。

次のようなプログラムを実行して確かめることができます。

実行すると

と表示されます。


つながったオブジェクトを表示する

showAllという名前のメソッドを作成します。

変数aがChainインスタンスを指しており、 そのインスタンスの変数nextがまた別のChainインスタンスを指しているような場合に

とすることで、つながっているChainインスタンスをすべて表示するものです。


showAllメソッド内での処理を考える

いくつものインスタンスを表示するためには、 変数を使ってインスタンスをたどっていく必要があります。

1. 先頭のインスタンスを表示。

2. 2番目のインスタンスに移る。

3. 繰り返しの内容。

4. いちばん後ろのインスタンスの処理。


変数aが次のようなオブジェクトを参照しているときに

が呼ばれた場合の動作を考えます。

メソッドが呼ばれると、呼び出し元の変数の値がthisに渡されます。

先に作成した1つのオブジェクトを表示するメソッドshow()