第三章: 類屬性
使用過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 WRITEREAD
{
get {return m_nWriteRead;}
set {m_nWriteRead=value;}
}
public int WRITE
{
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.WRITE=250; //set
MyTest.WRITEREAD+=10000000 ; //set and get
Console.WriteLine("get:{0} set:{1} set/get:{2} ",i,MyTest.WRITE,MyTest.WRITEREAD);
}
}
如果你想要隱藏類內部儲存結構的細節時,就應該採用存取標誌。存取標誌給值參數中的屬性傳遞新值。同時你可以獲得實現在set標誌中增加有效代碼的機會。