「プロパティ」の版間の差分

imported>Administrator
imported>Administrator
編集の要約なし
8行目: 8行目:
無くて困るものではない。
無くて困るものではない。


なお、プロパティはコンパイル時にアクセサメソッドに自動展開される[[マクロ]]のようなものであり、実行時はメソッド呼び出しとなるため、メンバ変数への直接アクセスよりもパフォーマンスは悪くなる。
なお、プロパティは[[コンパイル]]時に[[アクセサメソッド]]に自動展開される[[マクロ]]のようなものであり、実行時はメソッド呼び出しとなるため、メンバ変数への直接アクセスよりもパフォーマンスは悪くなる。


== プロパティをサポートする主なプログラミング言語 ==
== プロパティをサポートする主なプログラミング言語 ==
20行目: 20行目:
* [[ActionScript 3.0]]
* [[ActionScript 3.0]]
** [[ActionScript 3.0/プロパティ]]
** [[ActionScript 3.0/プロパティ]]
== 記述例 ==
[[C Sharp|C#]]での一般的なプロパティの記述例を示す。
なお、C#にはプロパティの発展系として「[[インデクサー]]」という機構もある。
<source lang="csharp">
class Hage {
    private String _name;
    public String Name {
        get { return _name; }
        set { _name = value; }
    }
}
</source>
[[ActionScript 3.0]]での一般的なプロパティの記述例を示す。
見てのとおり、プロパティをサポートしない[[プログラミング言語]]における[[アクセサ]]の書き方とほぼ同じ。
それなのにプロパティとして快適に扱える。
[[as3]]マジオススメ。
<source lang="actionscript3">
class Hage {
    private var _name:String;
    public function get name():String {
        return _name;
    }
    public function set name(value:String):void {
        _name = value;
    }
}
</source>


== 関連項目 ==
== 関連項目 ==