メソッドとは?
メソッドはプログラムの中の処理の部分を書く領域になります。クラスというのは基本的にデータと処理のひと固まりですが、その処理の部分の記述方法という事になります。
メソッドの書き方
メソッドの書き方は、public等のアクセス修飾子、intなどの戻り値、任意のメソッド名、任意の引数の順番で書いていきます。
アクセス修飾子は必要なアクセスレベルで記述します。自分のクラスからしか呼ぶ必要がない場合はprivateとし、継承先で呼び出す場合はprotectedとします。外部から呼びだす場合はpublicかinternalに設定します。publicかinternalかの判断は、外部からのアクセスが、同一アセンブリのみの場合はinternalとし、同一アセンブリ以外からのアクセスが存在する場合はpublicとします。同一アセンブリとは、同一EXEファイル、または同一DLLファイルのことで、VisualStudio内での同一プロジェクトの事を同一アセンブリと理解していただいて構いません。
戻り値はint等の戻り値として必要な型を指定します。戻り値が必要ない場合はvoidというキーワードを書いて、戻り値が不要であることを示します。
任意のメソッド名はマイクロソフトの命名方法に則り、頭文字を大文字の名前にします。
任意の引数は必要な型と任意の引数名を書きます。複数必要な場合は「,」カンマで区切って必要な数を記述します。引数が不要な場合は引数は記述せずに丸カッコ()のみを記述します。
internal void CheckData(int value)
{
var xxx = xxx;//処理
}
オーバーロード
オーバーロードとは同じ名前のメソッドを複数作ることを言います。
オーバーロードの条件
オーバーロードをする場合は次の3つのいずれかの条件を満たす必要があります。
- 引数の数が異なる
- 引数の型が異なる
- 引数の並びが異なる
用途
オーバーロードは同じメソッド名でいくつかの引数違いのメソッドを作りたいときに用います。
例えばSaveというデータを保存する処理がある場合、ID指定の場合とIDと名称指定の場合とで2つのメソッドを同じ「Save」というメソッド名で定義することができます。
こうすることで、異なる名前を定義する必要なく、引数違いのメソッドを複数定義することが可能です。
private void Save(int id)
private void Save(int id,string name)
サンプルコード
namespace CS19 { public class Class1 { /// /// 引数複数 /// /// /// public void CheckData(int value, int value2) { } /// /// 戻り値あり /// /// internal int GetCount() { return 1; } /// /// オーバーロード /// /// /// internal void Save(int id,string name) { } internal void Save(int id) { } } }