標籤:欄位方法屬性
C++的類中可以有三種內容:成員變數、成員函數和友元。
一般來說,成員變數描述類的屬性,成員函數描述類的操作,友元則是一種特殊的聲明,被聲明為友元的函數或類可以操作自己的私人成員變數和成員方法。
在Java中,類的成員有兩類:屬性,相當於C++的成員變數;方法,相當於C++的成員函數。
而在C#中,類的成員有四種:欄位、屬性、方法和事件(事件還沒學到,暫緩解釋650) this.width=650;" src="http://img.baidu.com/hi/jx2/j_0057.gif" alt="j_0057.gif" />)。
欄位相當於C++中的成員變數和Java中的屬性,就是在類中定義的變數(可以是基本類型或參考型別),一般來說,欄位都被定義為私人。
方法相當於C++中的成員函數和Java中的方法,也就是在類裡面定義的函數。
新的東西之一:屬性
先用Java來說,Java中,因為類的屬性一般定義為私人,在類的外部不能被操作,所以必須提供相應的函數來設定或擷取私人屬性的值。一般來說,設定屬性值的方法以set開頭,擷取屬性值的方法以get開頭。
雖然在C#中也可以用同樣的方法來操作私人欄位,不過C#中提供了一種新的特性來達到這一目的,這就是屬性。
首先來看屬性的定義:
存取修飾詞 類型 屬性名稱
{
get
{
程式碼片段
}
set
{
程式碼片段
}
}
從形式上看,屬性的定義很像方法的定義,只是沒有參數而已。
再來看屬性的使用,使用屬性時很像是使用共有欄位。
可以給屬性賦值,也可以直接使用屬性的值。例如:
class MyClass{ public int MyInt //名為MyInt的公有屬性 { get { //程式碼片段 } set { //程式碼片段 } }}
在程式中,可以這樣來使用該屬性
MyClass c = new MyClass();c.MyInt = 100; //Console.WriteLine(c.MyInt);
是不是很像使用欄位呢。
C#中的類:欄位、屬性、方法