メインメニューを開く

差分

プロパティ

659 バイト追加, 2014年10月8日 (水) 09:32
編集の要約なし
'''プロパティープロパティ'''(Property)とは、([[英語]]:Property)とは、[[オブジェクト指向プログラミング言語]]において、[[クラス]]の製作者からは[[メンバメソッド]]に見え、[[クラス]]の利用者からは[[メンバ変数]]に見える機能のことである。
なお、[[Objective-C]]では他の[[言語]]でいう[[インターフェイス]]の亜種であり、完全に別ものである点に注意する必要がある。 == 概要 ==プロパティを持たない[[オブジェクト指向]]な[[プログラミング言語]]では、メンバ変数へ安全にアクセスさせるためには[[ゲッター]]や[[セッター]]などと呼ばれる[[アクセサメソッド]]を利用する必要があった。クラス製作者からすると安全性のためにも入出力チェックを実装できる[[アクセサメソッド]]の利用を強制させたいが、クラス利用者からすると[[アクセサメソッド]]は見た目が数式っぽくなくは見た目が[[数式]]っぽくなく[[ソースコード]]の見通しが非常に悪くなるという問題点を抱えていた。
その問題点をスパッと解決してくれるのがプロパティである。
* [[ActionScript 3.0]]
** [[ActionScript 3.0/プロパティ]]
* [[JavaScript]]
** [[JavaScript/プロパティ]] - 某クソブラウザ(IE8まで)がサポートしていない関係でまったく使われていないが、実は古くからプロパティ構文がある。[[マイクロソフト]]の[[ASP.NET]]の中の人が作ってる[[Knockout.js]]の[[ドキュメント]]でも同じことが書かれている<ref>http://knockoutjs.com/documentation/observables.html Reading and writing observablesの項</ref>。
== 記述例 ==
なお、C#にはプロパティの発展系として「[[インデクサー]]」という機構もある。
<source lang="csharp">
class Hage { 
private String _name;
[[as3]]マジオススメ。
<source lang="actionscript3">
class Hage { 
private var _name:String;
== 関連項目 ==
* [[スライス]]
* [[インデクサー]]
* [[アクセサ・メソッド]]
== 参考文献 ==
<references/>== 外部リンク =={{reflist}}
{{stub}}
匿名利用者