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

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
(ページの作成:「'''プロパティ'''(Property)とは、クラスの製作者からはメンバメソッドに見え、クラスの利用者からはメンバ変数...」)
 
imported>Administrator
8行目: 8行目:
 
無くて困るものではない。
 
無くて困るものではない。
  
なお、プロパティはコンパイル時にアクセサメソッドに自動展開される[[マクロ]]のようなものであり、実行時はメソッド呼び出しとなるため、メンバ変数へのアクセスよりもパフォーマンスは悪くなる。
+
なお、プロパティはコンパイル時にアクセサメソッドに自動展開される[[マクロ]]のようなものであり、実行時はメソッド呼び出しとなるため、メンバ変数への直接アクセスよりもパフォーマンスは悪くなる。
  
 
== プロパティをサポートする主なプログラミング言語 ==
 
== プロパティをサポートする主なプログラミング言語 ==

2012年4月3日 (火) 06:42時点における版

プロパティ(Property)とは、クラスの製作者からはメンバメソッドに見え、クラスの利用者からはメンバ変数に見える機能のことである。

プロパティを持たないオブジェクト指向プログラミング言語では、メンバ変数へ安全にアクセスさせるためにはゲッターセッターなどと呼ばれるアクセサメソッドを利用する必要があった。

クラス製作者からすると安全性のためにも入出力チェックを実装できるアクセサメソッドの利用を強制させたいが、クラス利用者からするとアクセサメソッドは見た目が数式っぽくなくソースコードの見通しが非常に悪くなるという問題点を抱えていた。

その問題点をスパッと解決してくれるのがプロパティである。 無くて困るものではない。

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

プロパティをサポートする主なプログラミング言語

各プログラミング言語のプロパティ構文は個別のページに記載する。

関連項目

参考文献

外部リンク