【c#教程】C# 屬性(Property)

來源:互聯網
上載者:User

C# 屬性(Property)

屬性(Property) 是類(class)、結構(structure)和介面(interface)的命名(named)成員。類或結構中的成員變數或方法稱為 域(Field)。屬性(Property)是域(Field)的擴充,且可使用相同的文法來訪問。它們使用 訪問器(accessors) 讓私人域的值可被讀寫或操作。

屬性(Property)不會確定儲存位置。相反,它們具有可讀寫或計算它們值的 訪問器(accessors)。

例如,有一個名為 Student 的類,帶有 age、name 和 code 的私人域。我們不能在類的範圍以外直接存取這些域,但是我們可以擁有訪問這些私人域的屬性。

訪問器(Accessors)

屬性(Property)的訪問器(accessor)包含有助於擷取(讀取或計算)或設定(寫入)屬性的可執行語句。訪問器(accessor)聲明可包含一個 get 訪問器、一個 set 訪問器,或者同時包含二者。例如:

// 宣告類型為 string 的 Code 屬性public string Code{   get   {      return code;   }   set   {      code = value;   }}// 宣告類型為 string 的 Name 屬性public string Name{   get   {     return name;   }   set   {     name = value;   }}// 宣告類型為 int 的 Age 屬性public int Age{    get   {      return age;   }   set   {      age = value;   }}

執行個體

下面的執行個體示範了屬性(Property)的用法:

using System;namespace tutorialspoint{   class Student   {      private string code = "N.A";      private string name = "not known";      private int age = 0;      // 宣告類型為 string 的 Code 屬性      public string Code      {         get         {            return code;         }         set         {            code = value;         }      }         // 宣告類型為 string 的 Name 屬性      public string Name      {         get         {            return name;         }         set         {            name = value;         }      }      // 宣告類型為 int 的 Age 屬性      public int Age      {         get         {            return age;         }         set         {            age = value;         }      }      public override string ToString()      {         return "Code = " + Code +", Name = " + Name + ", Age = " + Age;      }    }    class ExampleDemo    {      public static void Main()      {         // 建立一個新的 Student 對象         Student s = new Student();                     // 設定 student 的 code、name 和 age         s.Code = "001";         s.Name = "Zara";         s.Age = 9;         Console.WriteLine("Student Info: {0}", s);         // 增加年齡         s.Age += 1;         Console.WriteLine("Student Info: {0}", s);         Console.ReadKey();       }   }}

當上面的代碼被編譯和執行時,它會產生下列結果:

Student Info: Code = 001, Name = Zara, Age = 9Student Info: Code = 001, Name = Zara, Age = 10

抽象屬性(Abstract Properties)

抽象類別可擁有抽象屬性,這些屬性應在衍生類別中被實現。下面的程式說明了這點:

using System;namespace tutorialspoint{   public abstract class Person   {      public abstract string Name      {         get;         set;      }      public abstract int Age      {         get;         set;      }   }   class Student : Person   {      private string code = "N.A";      private string name = "N.A";      private int age = 0;      // 宣告類型為 string 的 Code 屬性      public string Code      {         get         {            return code;         }         set         {            code = value;         }      }         // 宣告類型為 string 的 Name 屬性      public override string Name      {         get         {            return name;         }         set         {            name = value;         }      }      // 宣告類型為 int 的 Age 屬性      public override int Age      {         get         {            return age;         }         set         {            age = value;         }      }      public override string ToString()      {         return "Code = " + Code +", Name = " + Name + ", Age = " + Age;      }   }   class ExampleDemo   {      public static void Main()      {         // 建立一個新的 Student 對象         Student s = new Student();                     // 設定 student 的 code、name 和 age         s.Code = "001";         s.Name = "Zara";         s.Age = 9;         Console.WriteLine("Student Info:- {0}", s);         // 增加年齡         s.Age += 1;         Console.WriteLine("Student Info:- {0}", s);         Console.ReadKey();       }   }}

當上面的代碼被編譯和執行時,它會產生下列結果:

Student Info: Code = 001, Name = Zara, Age = 9Student Info: Code = 001, Name = Zara, Age = 10

以上就是【c#教程】C# 屬性(Property)的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.