C#屬性詳解(c# 通過公共屬性訪問私有成員 優點)
阿新 • • 發佈:2018-12-26
C#屬性是通過Get(讀取)、Set(設定)來訪問屬性的.
public class Test
{
public Test()
{
//
// TODO: 在此處新增建構函式邏輯
//
}
//為了說明問題這裡我們用中文
public string 地球的形狀;
}
在上面的例子裡"地球的形狀"這個欄位就可以任意的訪問,不受任何的束縛.但是我們都知道地球是圓的,是不允許修改的一個特性,那怎麼辦呢?用一個屬性就可以輕鬆的解決這個問題.
public class Test
{
public Test()
{
//
// TODO: 在此處新增建構函式邏輯
//
}
//為了說明問題這裡我們用中文
private string 地球的形狀="圓";//私有的成員變數,它對於外部是不可見的.
public string 地球形狀
{
get
{
return 地球的形狀;//這裡將私有成員變數地球的形狀返回給"地球的形狀"
}
}
}
這裡我們只可以讀取屬性"地球形狀",而不可以寫,如果強制寫編譯器就會提示出錯.這樣我們就可以通過類來訪問屬性.
Test MyTt=new Test();//例項化類
string MyTemp=MyTt.地球形狀;//讀取類的屬性
下面我們說一下寫的應用.
public class Test
{
public Test()
{
//
// TODO: 在此處新增建構函式邏輯
//
}
//為了說明問題這裡我們用中文
private string 你的名字;//私有的成員變數,它對於外部是不可見的.
public string 名字
{
get
{
return 你的名字;//這裡將私有成員變數"你的名字"的形狀返回給"名字"
}
set
{
你的名字=value;//這裡的value將等於"名字" 這個屬性值
}
}
}
這樣我們就可以對屬性讀取和寫了.
Test MyTt=new Test();//例項化類
MyTt.名字="Simon"//設定屬性
String MyTemp=MyTt.名字;讀取屬性值
通過上面的例子我們可以看出屬性只不過是做了一箇中介的角色而已,真正工作的還是欄位(域),但這樣做可以更面向物件,寫出更安全的應用程式。
public class Test
{
public Test()
{
//
// TODO: 在此處新增建構函式邏輯
//
}
//為了說明問題這裡我們用中文
public string 地球的形狀;
}
在上面的例子裡"地球的形狀"這個欄位就可以任意的訪問,不受任何的束縛.但是我們都知道地球是圓的,是不允許修改的一個特性,那怎麼辦呢?用一個屬性就可以輕鬆的解決這個問題.
public class Test
{
public Test()
{
//
// TODO: 在此處新增建構函式邏輯
//
}
//為了說明問題這裡我們用中文
private string 地球的形狀="圓";//私有的成員變數,它對於外部是不可見的.
public string 地球形狀
{
get
{
return 地球的形狀;//這裡將私有成員變數地球的形狀返回給"地球的形狀"
}
}
}
這裡我們只可以讀取屬性"地球形狀",而不可以寫,如果強制寫編譯器就會提示出錯.這樣我們就可以通過類來訪問屬性.
Test MyTt=new Test();//例項化類
string MyTemp=MyTt.地球形狀;//讀取類的屬性
下面我們說一下寫的應用.
public class Test
{
public Test()
{
//
// TODO: 在此處新增建構函式邏輯
//
}
//為了說明問題這裡我們用中文
private string 你的名字;//私有的成員變數,它對於外部是不可見的.
public string 名字
{
get
{
return 你的名字;//這裡將私有成員變數"你的名字"的形狀返回給"名字"
}
set
{
你的名字=value;//這裡的value將等於"名字" 這個屬性值
}
}
}
這樣我們就可以對屬性讀取和寫了.
Test MyTt=new Test();//例項化類
MyTt.名字="Simon"//設定屬性
String MyTemp=MyTt.名字;讀取屬性值
通過上面的例子我們可以看出屬性只不過是做了一箇中介的角色而已,真正工作的還是欄位(域),但這樣做可以更面向物件,寫出更安全的應用程式。