@634

C# - アクセサ(Accessor)

Advertisement

アクセサメソッド

オブジェクト指向での開発ではクラス内のデータ(フィールド)に直接アクセスさせるのではなく、メソッドを通してアクセスさせるように設計を行う。このフィールドに対してアクセスを行うメソッドをアクセサメソッドという。
従来のような(Javaと同じような)コーディングを行うと以下のような形式となる。

サンプルコード
public class Inu
{
    private string name;

    public string getName(){
        return this.name;
    }

    public void setName(string str){
        this.name = str;
    }
}

privateな変数へのアクセスは以下のような形式になる
obj.setName("なまえ");
System.out.println(obj.getName());
問題なく動作するが、アクセサメソッドはどのような名前でも実装できてしまう(JavaではsetXXX, getXXXという名前にすることを推奨している)ため、様々な問題が発生する可能性がある。

C#でのアクセサ

C#では上記の問題を解決するために、アクセサというメカニズムを備えている。

書式
private string name;

public string Name{
    get{
        return this.name;
    }

    set{
        this.name = value;
    }
}
変数へのアクセス方法は以下のようになる。
obj.name = "なまえ"
Console.writeLine(obj.name);
変数をpublic宣言した場合と同じ書式でアクセサメソッドを通したアクセスを行うことが出来る。

Advertisement

ショートカット

634
このカテゴリのトップページに戻る
634labs
   UIコレクションギャラリー

サイト検索

Google

Web サイト内

Y!ログール