「プロパティ」の版間の差分
imported>Fallout New Tokyo |
imported>Fallout New Tokyo 編集の要約なし |
||
| 1行目: | 1行目: | ||
''' | '''プロパティ'''([[英語]]:Property)とは、[[オブジェクト指向プログラミング言語]]において、[[クラス]]の製作者からは[[メンバメソッド]]に見え、[[クラス]]の利用者からは[[メンバ変数]]に見える機能のことである。 | ||
プロパティを持たない[[オブジェクト指向]]な[[プログラミング言語]]では、メンバ変数へ安全にアクセスさせるためには[[ゲッター]]や[[セッター]]などと呼ばれる[[アクセサメソッド]]を利用する必要があった。クラス製作者からすると安全性のためにも入出力チェックを実装できる[[アクセサメソッド]]の利用を強制させたいが、クラス利用者からすると[[アクセサメソッド]] | == 概要 == | ||
プロパティを持たない[[オブジェクト指向]]な[[プログラミング言語]]では、メンバ変数へ安全にアクセスさせるためには[[ゲッター]]や[[セッター]]などと呼ばれる[[アクセサメソッド]]を利用する必要があった。クラス製作者からすると安全性のためにも入出力チェックを実装できる[[アクセサメソッド]]の利用を強制させたいが、クラス利用者からすると[[アクセサメソッド]]は見た目が[[数式]]っぽくなく[[ソースコード]]の見通しが非常に悪くなるという問題点を抱えていた。 | |||
その問題点をスパッと解決してくれるのがプロパティである。 | その問題点をスパッと解決してくれるのがプロパティである。 | ||
| 25行目: | 26行目: | ||
なお、C#にはプロパティの発展系として「[[インデクサー]]」という機構もある。 | なお、C#にはプロパティの発展系として「[[インデクサー]]」という機構もある。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
class Hage { | class Hage | ||
{ | |||
private String _name; | private String _name; | ||
| 45行目: | 46行目: | ||
[[as3]]マジオススメ。 | [[as3]]マジオススメ。 | ||
<source lang="actionscript3"> | <source lang="actionscript3"> | ||
class Hage { | class Hage | ||
{ | |||
private var _name:String; | private var _name:String; | ||
| 69行目: | 70行目: | ||
== 参考文献 == | == 参考文献 == | ||
{{reflist}} | |||
{{stub}} | {{stub}} | ||