メソッド

メソッドとは

複数の処理が纏められた命令文の塊の事をメソッドと呼びます。

出力で使用したprint("こんにちわ");のプログラムは、最も簡単なメソッドを実行しています。 C#ではメソッドの実行に際して、プログラムが下記の法則に従って記述されている、という事を理解しておきましょう。

1
print("こんにちわ");
  • printというメソッドが実行されている
  • (*)はメソッドに引数を渡して実行している
  • 行の末尾には必ず;が入る

printはあらかじめMonoBehaviourクラスに用意されているメソッドなので上記の呼び出しだけで実行できますが、メソッドは下記のように自分で自由に新しくつくる事が可能です。 宣言するメソッドで使われている文字の意味を理解しておきましょう。

1
2
3
void NewMethod () {
  print ("新しく作成したメソッド");
}
  • voidはメソッドが実行された後に返す値の変数。何も返さない場合にはvoid
  • NewMethodはメソッドの名前、(いくつかの禁止されている文字列以外で)自由に名前をつける事ができます。
  • ()にはこのメソッドに値を渡す場合に使用します。
  • { ... }の中にはメソッドの本体、実行したい内容を記述します。

新しく作成したメソッドはprint();と同様にNewMethod();として呼び出す事が可能です。

メソッドを作ろう

一番シンプルなメソッドの構造になります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
public class MethodTest : MonoBehaviour {
  void Start () {
    //メソッドを実行
    NewMethod ();
  }

  //メソッドを宣言
  void NewMethod () {
    //メソッドの中身
    //サンプルでは文字を出力するだけ
    print ("新しく作成したメソッド");
  }
}

メソッドに値を渡してみよう

メソッドには値を渡す事ができるようになっています。 値を渡せば、同じ構文のメソッドでもそれぞれ別の動作を起こす事ができるようになります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
public class MethodTest : MonoBehaviour {
  void Start () {
    //メソッドを実行
    VariableMethod (10);
  }

  //メソッドを作成、引数としてintが渡せるようにしている
  void VariableMethod (int count) {
    //メソッドの中身
    //サンプルでは渡された値の10倍の数値を出力する
    print (count * 10);
  }
}

値を返すメソッドを作成してみよう

メソッドは実行後に値を返すようする事が可能です。 演算の実行の結果、どうなったかをメソッドの外知る事ができるようになります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
public class ProgramingTest : MonoBehaviour {

  void Start () {
    //メソッドを実行。int型の値が帰ってくるのでint型の変数を合わせて宣言している
    int num = ReturnMethod (10);

    //変数の中身を出力
    print(num);
  }

  //メソッドを作成、int型が返されるようになっている
  int ReturnMethod (int count) {
    //メソッドの中身
    //サンプルでは渡された値の10倍の数値を計算して出力せずにプログラムにその値を渡している。
    int returnInt = count * 10;
    return count * 10;
  }
}

メソッドとは(その2)

メソッドに引数を渡したり、値を返したりすると最終的に下記のようなプログラムになりました。 最初に説明した内容と一部重複しますが、それぞれの文字の意味を知り、メソッドの構造を理解しておきましょう。

1
2
3
int NewMethod (int count) {
  return count * 10;
}
  • 一番最初のintはメソッドが実行された後に返す値の変数。何も返さない場合にはvoidとなっていた箇所。
  • NewMethodはメソッドの名前、(いくつかの禁止されている文字列以外で)自由に名前をつける事ができます。
  • ()にはこのメソッドに値を渡す場合に使用します。int countと記載するとintの型の数値を受け取り、メソッドの中ではそれをcountという名前の変数として利用する事を宣言しています。
  • { ... }の中にはメソッドの本体、実行したい内容を記述します。
  • メソッドの最後にはreturnを記載し、その後に返す値を記述します。