宇宙仮面の
C# Programming

 
Image

プロパティ: Property

開発環境: Visual Studio 2003 

目次

  1. 目次
  2. 目的
  3. 参考書
  4. ソースコード
  5. 実行結果
  6. 改定記録

目的

基本的なプロパティの形は、次のようになる。
read/write, read-only,  write-only は、set/getメソッドを実装するかどうかコントロールする。

        class Computer
         {
public int Speed { get { return speed; } set { speed = value; } } }
もう1つ、オーバーライドの方法として、override キーワードを使用する。
        // ToString をオーバライドする
        public override string ToString()
        {
                return "Processor Type = " + this.ProcessorType + ", Processor Speed = " + this.Speed;
        }
このオーバーライドにより、
Console.WriteLine("\nNew Computer {0}", myComputer);
を実行すると、オーバーライドされた myComputer.ToString() が呼ばれ、
New Computer Processor Type = Pentium IV, Processor Speed = 2000
が出力される。

オーバーライドしない場合、
New Computer PropertyTest.Computer
と、オブジェクト名が表示される。

参考書

(1) MSDN System.TimeZoneクラス

スタティックコンストラクタのテスト用ソースコード

using System;

namespace PropertyTest
{
        /// <summary>
        /// About Computer Class
        /// </summary>
        class Computer
        {
                // 初期値の設定
                private string processorType ="Celeron";
                private int speed = 1000;

                // int型の Speed プロパティの宣言
                public int Speed
                {
                        get 
                        {
                                return speed; 
                        }
                        set 
                        {
                                speed = value; 
                        }
                }
                // string型の ProcessorType プロパティの宣言
                public string ProcessorType
                {
                        get 
                        { 
                                return processorType; 
                        }
                        set 
                        { 
                                processorType = value; 
                        }
                }
                // ToString をオーバライドする
                public override string ToString()
                {
                  return "Processor Type = " + this.ProcessorType + ", Processor Speed = " + this.Speed;
                }
      
                public static void Main()
                {
                        // Create a new Computer object:
                        Computer myComputer = new Computer();

                        Console.WriteLine("Initial Computer {0}", myComputer);

                        // I bought a new computer
                        myComputer.ProcessorType = "Pentium IV";
                        myComputer.speed = 2000;
                        Console.WriteLine("\nNew Computer {0}", myComputer);
                        Console.WriteLine("\nNew Processor Type is {0}", myComputer.ProcessorType);
                        Console.WriteLine("\nNew Computer Speed is {0}", myComputer.Speed );
                        // こんなこともできる。
                        Console.WriteLine("myComputer.Speed++ is {0}", myComputer.Speed++ );
                        // これもOK.
                        Console.WriteLine("++myComputer.Speed is {0}", ++myComputer.Speed );
                        // こんなこともできる。
                        Console.WriteLine("\nNew Processor Type is {0}", myComputer.ProcessorType+=" Hello");
                        // これもOK.
                        Console.WriteLine("\nNew Processor Type is {0}", myComputer.ProcessorType+" World!");
                }
        }
}

実行結果

Image

改定記録


日付コメント
2004/5/23全体デザイン再構成
2002/3/4初版作成