mainメソッドとクラス |
プログラムB4_2を見てください。このmainメソッドでTeacherオブジェクトが生成(インスタンス化)されています。 確認になりますが、クラスのオブジェクトを使用するにはクラスのコンストラクタ(クラス名と同じ特殊なメソッド)を呼び出しオブジェクトを生成する必要があります。 Teacherクラスのソースコードを見てください。クラスはオブジェクトの設計図でした。 クラスは基本的に以下の三つの宣言から成り立っています。
クラス宣言のブロックで状態の宣言と振る舞いの宣言が行われます。ただし、状態の宣言の順番やメソッドの宣言の順番には意味がありません。 つまり、Teacherクラス宣言のブロックでは実行が上から下に動作してはいません。 もう一度、プログラムB4_2を見てください。mainメソッドの命令の各行に番号が付いています。各行の意味は
となります。 |
---|---|
引数と返却値 |
引数とはメソッドに渡される値(オブジェクト)で、返却値とはメソッドの部分に返却される値(オブジェクト)となります。 それでは、Teacherクラスのソースコードを見てください。各mainメソッドメッセージがどのようにTeacherオブジェクトに伝えられるかを説明します。 まず、B4_2のTeahcerオブジェクトに対するメッセージの順番がTeacherクラスのソースコードの上から下に動作していないことが改めてわかります。 オブジェクト側からは以下のように振る舞います。
getSalaryのブロックでは返却するthis.salaryをreturnキーワードで指定します。 |