welcome: please sign in

2010-11-14 13:36:03時点のリビジョン10

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

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

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


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

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

ここで

の代わりに

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


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

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

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

この値は

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

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

実行すると

と表示されます。


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

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

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

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


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

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

1. cが先頭のインスタンスを指している場合です。

2. 2番目のインスタンスの処理。


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

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

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

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