未分類

メソッドの基本

投稿日:

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

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

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

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

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

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

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

メソッドを呼び出す

先ほどの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

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

関連記事

サンプルイメージ

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

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

サンプルイメージ

式と演算子

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

サンプルイメージ

for文のしくみを知る

激レアキャラをゲットするまでは・・・→レアガチャを引き続ける 私たちの生活に朝起きる、歯を磨く、朝食を食べる、学校に行く・・・といった「繰り返し処理」を行っています。 Javaでは、このような繰り返し …

サンプルイメージ

メソッドの引数

メソッドでさらに柔軟な処理を行うことができます。メソッドを呼び出す際に、 呼び出し元からメソッド内に何か情報(値)を渡し、その値に応じた処理を行う ということができます。メソッドに渡す情報を引数といい …

サンプルイメージ

関係演算子と条件

条件のしくみ これまでのコードは1文ずつ順序よく処理が行われていました。しかし、「場合に応じた処理」を行うことができます。 ゲームのスコアが良かったら・・・→ボーナスステージに行く ゲームのスコアが悪 …