welcome: please sign in

ページのコンテンツをアップロード

下記のページ名のコンテンツをアップロードすることができます。 もしページ名を変更すれば、別のページのコンテンツをアップロードすることもできます。 ページ名が空の場合、ファイル名からページ名を決定します。

ページコンテンツを格納したファイル
ページ名
コメント

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

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

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


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

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

ここで

の代わりに

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


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

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

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

この値は

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

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

実行すると

と表示されます。


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

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

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

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


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

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

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

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

3. 繰り返しの内容。

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

5. 繰り返しの条件を考える。


showAllメソッドを書く

次の処理を書き加えて完成。


正しく動作するか考える

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

が呼ばれた場合の動作を追ってみましょう。