第三章: 類屬性
使用過RAD開發工具的一定inspector很熟悉,程序員通過它可以操作對象的屬性,DELPHI中引入了PUBLISH關鍵字來公布對象屬性受到程序員的普遍歡迎.通過存取標志來訪問private成員,在c#中有兩種途徑揭示類的命名屬性——通過域成員或者通過屬性。前者是作為具有公共訪問性的成員變量而被實現的;後者並不直接回應存儲位置,只是通過存取標志(accessors)被訪問。當你想讀出或寫入屬性的值時,存取標志限定了被實現的語句。用於讀出屬性的值的存取標志記為關鍵字get,而要修改屬性的值的讀寫符標志記為set。
類屬性
只能讀 get
只能寫 set
可讀可寫 set/get
請看例子:
using System;
public class Test
{
private int m_nWrite;
private int readonly m_nRead=100;
private int m_nWriteRead;
public int WR99vEREAD
{
get {return m_nWriteRead;}
set {m_nWriteRead=value;}
}
public int WR99vE
{
set { m_nWrite = value; }
}
public int READ
{
get {return m_nRead;}
}
}
class TestApp
{
public static void Main()
{
Test MyTest = new Test();
int i=MyTest.READ; //get
MyTest.WR99vE=250; //set
MyTest.WR99vEREAD+=10000000 ; //set and get
Console.WriteLine("get:{0} set:{1} set/get:{2} ",i,MyTest.WR99vE,MyTest.WR99vEREAD);
}
}
如果你想要隱藏類內部存儲結構的細節時,就應該采用存取標志。存取標志給值參數中的屬性傳遞新值。同時你可以獲得實現在set標志中增加有效代碼的機會。