東方中央幻視台

瞼の裏に弾幕が飛び交う程度の能力 - 永夜抄Normalはそれなりに難しい。

目次

Blog 利用状況

ニュース

自己紹介

関連サイト

投稿カレンダー

  • スクリプトをダウンロード!

ブログパーツ

Adsense

書庫

日記カテゴリ

プロパティとはなんだろうか

という疑問について生真面目に答えてみようかと思います。

プロパティとは

  1. メソッドの亜種です。
  2. 公開フィールドの亜種です。

多重継承的ですね。

じゃあプロパティで何が出来るかというと

  1. パラメータの検証が出来ます。
  2. フィールドとは別の型で取得または設定できます。
  3. 複数のフィールドを連動して変更できます。
  4. 変更時に即時でイベントハンドラが飛ばせます。
  5. 短縮名として使用できます。
  6. その他かなりトリッキーなことが出来ます。

基本的にプロパティの役目はオブジェクトの内部に矛盾が生じないようにすることです。
しかしながら、それだけの使い方では勿体ありません。
便利に使ってこその言語機能です。

たとえば、ステータスバーの文字列を変更するのに次のようなコードを書きます。

this.toolStripStatusLabel_Message.Text = "コマンド";

しかし、これでは面倒だし直感的に何のことかわかりません。
そこで、プロパティの登場です。

 private string StatusText
{
    get { return this.toolStripStatusLabel_Message.Text; }
    set { this.toolStripStatusLabel_Message.Text = value; }
}

このくらいは誰でもやってそうですが。

また、各アクセサが非対称なプロパティなんてのも書けます。
たとえば他の関数を呼んだり実際は何もしなかったりなどです。
このテクニックはたとえばサイズが固定のコントロールなんかに応用できます。

投稿日時 : 2006年12月29日 13:16

コメントを追加

No comments posted yet.
タイトル  
名前  
URL
コメント