「プロパティ」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''プロパティ''' | + | '''プロパティ'''(Property)とは、[[クラス]]の製作者からは[[メンバメソッド]]に見え、[[クラス]]の利用者からは[[メンバ変数]]に見える機能のことである。 |
− | + | プロパティを持たない[[オブジェクト指向]]な[[プログラミング言語]]では、メンバ変数へ安全にアクセスさせるためには[[ゲッター]]や[[セッター]]などと呼ばれる[[アクセサメソッド]]を利用する必要があった。 | |
− | + | クラス製作者からすると安全性のためにも入出力チェックを実装できる[[アクセサメソッド]]の利用を強制させたいが、クラス利用者からすると[[アクセサメソッド]]は見た目が数式っぽくなく[[ソースコード]]の見通しが非常に悪くなるという問題点を抱えていた。 | |
− | |||
その問題点をスパッと解決してくれるのがプロパティである。 | その問題点をスパッと解決してくれるのがプロパティである。 | ||
− | + | 無くて困るものではない。 | |
− | + | なお、プロパティはコンパイル時にアクセサメソッドに自動展開される[[マクロ]]のようなものであり、実行時はメソッド呼び出しとなるため、メンバ変数へのアクセスよりもパフォーマンスは悪くなる。 | |
== プロパティをサポートする主なプログラミング言語 == | == プロパティをサポートする主なプログラミング言語 == | ||
15行目: | 14行目: | ||
* [[C Sharp|C#]] | * [[C Sharp|C#]] | ||
** [[C Sharp/プロパティ|C#/プロパティ]] | ** [[C Sharp/プロパティ|C#/プロパティ]] | ||
− | |||
− | |||
* [[Objective-C]] | * [[Objective-C]] | ||
** [[Objective-C/プロパティ]] | ** [[Objective-C/プロパティ]] | ||
* [[ActionScript 3.0]] | * [[ActionScript 3.0]] | ||
** [[ActionScript 3.0/プロパティ]] | ** [[ActionScript 3.0/プロパティ]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 関連項目 == | == 関連項目 == | ||
− | |||
− | |||
− | |||
− | |||
== 参考文献 == | == 参考文献 == | ||
− | + | <references/> | |
+ | == 外部リンク == | ||
{{stub}} | {{stub}} |