未分類

メソッドの基本

投稿日:

「キャラクター」クラスを作成するときには、キャラクターに関するさまざまな「機能」を、メソッドというしくみでまとめることができます。

メソッドは、フィールドとともにクラスのメンバと呼ばれます。

下記のブロックの中に「モノの機能」をまとめるのです。

「戻り値」や「引数」という耳慣れない用語が使われていますね。これらは、後で説明します。ここでは、おおまかなイメージだけを眺めておくことにしましょう。

メソッドにはいくつかの文をまとめて記述します。これを

メソッドを定義するといいます。

たとえば、次のようなコードがメソッドの定義です。これは「キャラクターの情報を出力する」という機能をまとめたメソッドとなっています。

メソッドを呼び出す

先ほどのshow()メソッドを呼び出すには、次のように記述してください。

Character chara1;    オブジェクトを作成する

chara1 = new Character(); オブジェクトを作成する

chara1.show();      メソッドを呼び出す

main()メソッド内で呼び出すには、オブジェクトをさす変数名にピリオド(.)をつけ、メソッド名と()を記述します。

すると先ほど定義したメソッドの処理がまとめて行えるようになります。

main()メソッド内でCharacterクラスのオブジェクトのshow()メソッドを呼び出しています。この部分が処理されると画面にキャラクターの属性と体力が表示されます。main()メソッドでもう一度show()メソッドを呼び出しているので、再びshow()メソッドの処理が行われます。つまり、

  1. メソッドを呼び出す部分の処理が行われると、
  2. メソッド内部にうつって処理が行われる
  3. メソッド内の処理が終わると、呼び出し元に戻って続きを処理する

フィールドにアクセスする方法

Characterクラスの外にあるmain()メソッドの中で、フィールドを記述したときは、chara1にピリオドをつけて、アクセスしています。(20,21行目)

一方、Characterクラスの内側では、フィールドに何もつけずにアクセスしています。(9,10行目)

これは、クラスの外ではそのフィールドが

変数chara1のさすオブジェクトのフィールド、であることを示さなければならないためです。

これに対して、クラスの中で扱っているフィールドとは、

「その時処理されているオブジェクト自身」のフィールドという意味になっています。

なお、「オブジェクト自身」を表すことを強調して、this.という指定をつけることができます。

System.out.println(“キャラクターの属性は” + this.zokusei + “です。”);

メソッドにアクセスする方法

メソッドもフィールドと同じようにクラスの外では、オブジェクトをさす変数名をつけて、呼び出していました。どのオブジェクトであるのかを特定するためです。

なお、メソッドの呼び出しは、メソッドの定義と同じクラス内でも行うことができます。

CharacterクラスにはshowCharacter()メソッドを定義しました。そして、同じクラスのshow()メソッドを呼び出しています。この時、メソッド名だけを単独で記述しています。

また、メソッドもクラス内では、this.をつけて呼び出すことができます。

16行目  show();→this.show();

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

サンプルイメージ

練習問題解答(クラスの機能)

          ここまでは、クラスとその機能を見てきました。次の章では、クラスを実際に活用していく方法を学んでいきましょう。

Android 練習問題(タッチイベント)

     以下の様な動作をするアプリを作成してください。 問題2-1 TouchMove 初期表示時 画像上をタップすると画像が半透明で表示される。 画像上をタップしたまま指をスライドさせると画像が移 …

サンプルイメージ

式と演算子

式のしくみを知る Javaの「式」の多くは、 演算子(演算するもの)とオペランド(演算の対象) を組み合わせてつくられています。たとえば、「1 + 2」の場合は、「+」が演算子、「1」と「2 …

サンプルイメージ

練習問題(メソッド)

練習8-1 下記の2つのクラスがある。[WelcomeMain1.java]を実行すると下のような結果になるように[Welcome1.java]の空欄を埋めてください。        練習8-2 下記 …

サンプルイメージ

キーボードからの入力

キーボードからいろいろな文字を入力させ、その値を出力するコードを記述してみましょう。 String str = br.readLine(); という部分が重要です。実行画面がユーザーからの入力を待つ状 …