この章ではメソッドについて 説明します。
メソッドとは「引数」というデータ を受け取って「ある一定の処理」を行い、「戻り値」を返す機能のことを 言います(戻り値を返さないメソッドもあります)。
「引数」とはメソッドを実行するときに使われるデータのことで、「戻り値」とはメソッドを実行した結果 返される値です。
簡単に言いますと 「データ (引数)を 渡すので、この作業をやってくださいね」 と言うとメソッドが作業をしてくれて、 その結果(戻り値)を返してくれるというのがメソッドの機能です。
この一連の流れをメソッドに書いていくわけです。
今までParseメソッドなど幾つかのメソッドを紹介しましたが、これらは初めからC#で用意されているメソッドです。
例えばParseメソッドは文字列を他の型に変換するメソッドです。
この章で紹介するメソッドはユーザー定義メソッドと呼ばれていまして、Parseメソッドのような機能を持つメソッドを自分で作っていきます。
ではメソッドを使う例とメソッドを使わない例を比べてみましょう。
初めはメソッドを使わない例からみてみましょう。
上記のように同じ内容の処理を3回書くのは面倒ですし、プログラムの可読性が悪くなります。
これをメソッドで書き換えれば処理部分の記述は1か所で済みますので、プログラムの可読性が良くなります。
結果は以下の通りです。
では先ほどの例をメソッドを使って書き直してみましょう。
このようにメソッドの中には機能の部分を書いていきます。
メソッドを使うためにはメソッドの定義を行わなくてはいけません。
それが以下の構文です。
このブロックの中にメソッドの具体的な内容を書いていきます。
「戻り値型」についてはこの章の後半で、「アクセスレベル」「static修飾子」については「クラスについて知ろう」で詳しく説明しますので、今の時点では形だけ覚えて頂くだけで結構です。
次はメソッドを実行する方法について説明します。
メソッドは定義しただけでは何も動きません。
メソッドを使いたい時にはメソッドを呼び出さなくてはいけません。
以下の基本構文でメソッドを呼び出します。
この実引数をメソッドに渡して、メソッドに処理をしてもらいます。
この例では引数をheikinメソッドに渡して、平均値を求める作業をしてもらいます。
その他の以下のメソッドも先ほど説明した原理で実行されますので、結果的に3回メソッドが実行されて、結果も3回出力されます。
次はreturnについて説明します。
先ほどのheikinメソッドはメソッドを実行した時に発生した値を呼び出し元に返していませんでしたが、今度はメソッドを実行した時に発生した値を呼び出し元に返す方法について説明します。
では例をみてみましょう。
return文のその他の書き方として、戻り値の箇所に変数を指定する代わりに
そして、計算結果dの値が呼び出し元に戻されて、そのdの値が変数gに代入されます。
そして、そのgの値を
最初の例の戻り値の型は「void」でしたが、戻り値を返す必要がない場合には戻り値の型を「void」にします。
次にメソッドでの注意点について説明します。
メソッドの中で宣言される変数はそのメソッドの中でしか使用できないので注意してください。
例えば以下の例のMainメソッドやheikinメソッドの中にある変数は各メソッド内でしか使用することは出来ませんので、他のメソッド内で使うとエラーになります。
以下の例はMainメソッドの中でheikinメソッド内のd変数を使っているのでエラーになります。
つまり、同じ名前の変数ではありますが、まったく違う変数としてみなされます。