「プロパティ」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

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

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: