c#中的類具有字段、屬性、方法等類成員。本片文章主要就是介紹這幾個類成員以及類庫的概念。
1、定義類成員
需要注意的是protected和internal是可以合併使用的,表示在同個專案(更準確的說是程式集)的繼承類裡可以訪問。
如果在成員的前面加上static,說明這個成員是靜態成員。
欄位和變數的區別:直接在類中的資料成員為字段,他用訪問修飾符和資料型別類定義(public string name;),欄位就像類的乙個小資料庫,用來存放與類相關的資料;而單純的變數是沒有修飾符的(int age;),他不能直接在類裡面定義,只能在函式裡面定義,他用來作為方法的乙個臨時變數。
定義字段
class class注意,類中的公共字段推薦使用pascalcasing的命名方式,而私有字段沒有推薦的,但是一般使用camelcasing。
如果使用readonly關鍵字,那麼只能在建構函式的執行過程中賦值,或者在初始化賦值語句中賦值。
class class加上static關鍵字就是靜態欄位了。
class class引用靜態變數不需要例項化,可以直接呼叫,如class.myint。
定義方法
採用標準的函式格式。
class myclass注意,類中的公共方法(如欄位)使用pascalcasing的命名。}
方法的宣告也可以使用static關鍵字,則為靜態方法。還可以使用一下的關鍵字,如:
定義屬性
屬性擁有兩個類似於函式的塊,乙個用於獲取屬性的值,乙個使用者設定屬性的值。這兩個塊也成為訪問器,分別用get和set關鍵字來獲取和設定屬性的值。也可以忽略其中的乙個塊來建立唯讀或者只寫屬性(忽略get則建立之只寫屬性,忽略set則建立唯讀屬性)。例如:
privateint myint;
public
int myintprop
set
}
set如果賦給屬性的值在0到10之間,就修改屬性的值。如果不在應該怎麼選擇呢?有四種選擇:}
(1)什麼都不做:就像上面的例子一樣。
(2)給字段賦予預設值;
(3)繼續執行,就行啊沒有發生錯誤一樣,但是記錄下改事件,以備將來分析。
(4)丟擲異常。
一般情況下,選擇後兩種比較好。如丟擲異常:
setelse
}
C 中類的成員
readonly 資料成員中欄位唯讀形式 對於唯讀字段只能在字段的定義中和它的所屬類的建構函式中進行修改 舉例 using system using system.collections.generic using system.linq using system.text namespace pr...
C 類中的靜態成員
相關規則 1 靜態函式不能呼叫類的成員變數和成員函式 2 成員函式可以呼叫靜態變數和靜態函式 3 靜態變數和靜態函式不屬於類的任何具體物件 沒有this指標 但是可被類的所有物件共享。4 類的靜態變數和靜態函式不能被其派生類繼承 5 靜態變數必須初始化後才能被呼叫 無論是成員函式還是靜態函式呼叫 靜...
C 類中的成員型別
這三種型別才成員的區別在於,對於本類來說 公有成員,外部可以訪問的成員。私有成員,外部不可以訪問的成員。保護成員,外部不可以訪問的成員。乍看起來,私有成員與保護成員的訪問許可權是相同的,使用私有成員就行了,貌似沒有必要再多出來乙個保護成員。實際上,保護成員與私有成員的區別體現在繼承上。繼承分為 公有...