ナビゲーション リンクのスキップトップページ > C#プログラミング > ch1-4-1 プロパティを使う
▼ ch1-4-1 プロパティを使う ▼

  プロパティは状態を取得または設定を行うために利用されます。機能的なポイントとしては「メソッドとフィールドを交ぜたようなもの」とイメージすると良いでしょう。

1: getで値の取得、setで値の設定


protected internal bool IsActiveCustomer
{
    get
    {
        return this._IsActiveCustomer;
    }
    set
    {
        this.txtMiddleName.Enable = value;
        this._IsActiveCustomer = value;
    }
}


  また、プロパティは「取得・設定の制御」を可能にすることが出来ます。体重は自らがコントロールする物であって、第3者が設定する事は自然の状態ではあり得ません。それと同じような要求に対して便利な機能なのです。

2: 体重は自分しかコントロールできない


internal int MyWeight
{
    get
    {
        return this._MyWeight - 5;
    }
}


  Windowsフォームでの具体例として、TextBoxに入力された文字数を返すLengthプロパティでは数値を取得する事は出来ても設定は出来ません。なぜなら、単純な数値だけのプロパティでは、有効文字範囲設定や文字列操作を行うことも困難であり、開発者の解釈によりLengthプロパティの利用方法にバラつきが発生する可能性もあるからです。

  これはフィールドのみで行うことは不可能な特徴です。メソッドで同じように記述することは可能ですが、プロパティの役割は「状態を取得または設定」を行うことです。要するに用途が限定されていて、論理的に分かりやすくなります。

3: データを取得または設定する方法


using System;

namespace FooPah
{
    public class SamplePropertys
    {
        private static bool _ContactEnable;

        // Xにコンタクト可能か取得または設定します。
        public static bool ContactEnable
        {
            get
            {
                return _ContactEnable;
            }
            set
            {
                _ContactEnable = value;
            }
        }

        private static void Main()
        {
            Console.Write("文字を入力してください:");
            string param = Console.ReadLine();

            _ContactEnable = (param.Length > 10);

            Console.WriteLine(ContactEnable);
        }
    }
}


  以上のように利用者側は変数を用いる感覚でプロパティを用いることが出来ます。ちなみに上記のサンプルにはありませんが、設定のみのプロパティもありますが、プロパティは情報の参照を主な目的にしている面もあるので、メソッドに置換するなどして極力控えた方が良いでしょう。

Continue
ナビゲーション リンクのスキップトップページ > C#プログラミング > ch1-4-1 プロパティを使う

テスト[1]
♥ 2010年03月07日 16:36:41 UPD!

情報オリンピック[2]
♥ 2009年07月04日 13:39:15

2008年ですね。[1]
♥ 2008年01月01日 00:00:00

自由なスレ[3]
♥ 2007年09月22日 20:51:58

2007年ですね。[1]
♥ 2007年01月01日 00:00:00


RSS : FooPah!の更新情報
RSS : 掲示板全体の投稿情報
Copyright(C)2001-2009 FooPah!, All rights reserved.