welcome: please sign in

2009-10-23 05:34:16時点のリビジョン13

メッセージを消す
location: メソッド

メソッド

クラスのもつ機能を定義したものをメソッドといいます。

メソッドはオブジェクトに対する(オブジェクトを利用した)処理を記述したものとも言えます。

Drinkクラスのメソッドを定義してみましょう。

クラス図には次の3つの機能(メソッド)が書かれています。

クラス名と同じメソッドはコンストラクタと呼ばれ、別の機能を持ちます。次ページで解説。


Drinkクラスのメソッドとして disp を定義しました。

値を返さないメソッドの使い方は

です。

のように、インスタンスとメソッド名をピリオドでつなぎ括弧を書きます。

void(値を返さない)型のメソッドの場合

のように解釈すればよい。

この場合は「インスタンスochaに対してdisp()を行う」と読めます。

メソッドshow()の中ではprintlnが行われています。

ここで参照されているsuitとrankは、呼び出しで指定されたインスタンスaの変数が使われます。


メッソドadd1はrankの値を1増やします。

この例では、aの値は「ハートの13」になります。


値を返すメソッドを記述することもできます。


引数をもつメソッドの例です。


機能の継承

機能(メソッド)も性質と同様に継承されます。

スーパークラスで定義されたメソッドはサブクラスでも利用できます。

クラス1でメソッドmethod1()が定義されている時には、 そのサブクラスでmethod1()が定義されていなくても利用できるということです。

呼び出しが行われたら、スーパークラスで定義されているメソッドが使われます。

スーパークラスで定義されているメソッドと同じ名前のメソッドを サブクラスで再定義することもできます。 この場合サブクラスで定義したメソッドが優先されます。

これをメソッドのオーバーライドといいます。