1. 程式人生 > >C#中屬性的定義及用法

C#中屬性的定義及用法

屬性是可以提供被靈活的讀取與呼叫,屬性的存在形式有兩種:一種是在基類庫中定義的,還有一種是自定義的。例如自定義一個屬性,他的一般格式如下:

 private string a;   
        public string c
        {
            get
            { return a; }
            set
            { a = value; }
        }

這裡可以看到用到了幾個修飾詞:private和public,這裡就簡單談一下幾種常見的修飾符的意思以及他們的可用範圍;
private:隱私,也就是自己的,作為該類所私有的,只能在宣告類中使用;
public:公共的就是公開的,不限制訪問許可權,其他類都可以呼叫;
protected:保護的,只能在其所在類和其子類(繼承等關係)才能呼叫;
internal:內部的,只有其所在類才能訪問,外部類無法訪問;
這段程式就是定義了一個屬性,他的資料型別是string,也就是字元型別。用get和set來確定定義的屬性,還有一種通俗的寫法是:public string NAME { get; set; }

,這個也是定義,也是string型別。例如程式:

namespace shuxing
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("請輸入你的姓名:");
            //string name;
            string name = Console.ReadLine();
            Console.WriteLine("你的屬性是:");
            Shuxing shu = new Shuxing();
            shu.c = "10000";
            Console.WriteLine("你的攻擊力是:"+shu.c);
            shu.c = "10000";
            Console.WriteLine("你的血量是:"+shu.c);
            Zhaoshi zhao = new Zhaoshi();
            zhao.NAME = "降龍十八掌";
            Console.WriteLine("你的絕招有:"+zhao.NAME);
            zhao.NAME = "鐵布衫";
            Console.WriteLine("皮厚的原因是你有:"+zhao.NAME);
            Console.ReadLine();
        }
    }
    class Shuxing
    {   private string a;   
        public string c
        {
            get
            { return a; }
            set
            { a = value; }
        }
    }
    class Zhaoshi
    {
       public string NAME { get; set; }
    }
}

如程式中就是寫了這兩種屬性的定義,下面定義了一個招式的類,這個返回的值就是字元型的資料,當在main函式中呼叫的時候,在初始化之後,可以看到shu.c = "10000";以及zhao.NAME = "降龍十八掌";這些就可以直接定義所需要顯示的屬性,可以很清楚的瞭解該類的屬性。
這是顯示結果:
在這裡插入圖片描述