C#類的總結
類成員:
定義欄位、方法、屬性
公共欄位、方法、屬性的命名採用PascalCasing方式
私有欄位、方法、屬性命名採用camelCasing方式
修飾符:
public成員可由任何程式碼訪問
private 成員只能由類中程式碼訪問(如果沒有使用任何關鍵字,預設使用這個關鍵字)
internal 成員只能由定義它的程式集(專案)內部的程式碼訪問
protected 成員只能由類或派生類中的程式碼訪問
static關鍵字修飾的成員,只能通過類來訪問。
關鍵字:
virtual:方法可以重寫
abstract:方法必須在非抽象的派生類中重寫,只能用於抽象類中(抽象類不能例項化)
override:方法重寫了一個基類方法
extern:方法定義放在其他地方
partial:定義部分類和部分方法
定義屬性:
public int MyIntProp
{
private int myInt;
get
{
return myInt;
}
set
{
myInt=value;
}
}
類的外部程式碼不能訪問myInt欄位,通過get訪問器訪問私有欄位,通過set和關鍵字value設定私有欄位的值。
例如:使用下面程式碼實現set
set
{
if(value>=0 && value<=10)
myInt=value;
else
throw(newArgumentOutOfRangeException(“MyIntProp”,value,”MyIntProp must be assigned avalue between 0and 10.”));
}
定義方法:
隱藏基類方法:
(1)使用new關鍵字在派生類中宣告與基類同名的方法,隱藏基類方法。
(2)使用override關鍵字在派生類中宣告與基類的virtual方法。
(3)使用base關鍵字在派生類中呼叫基類的方法。base.DosomeThing()(呼叫基類的實現方法。.
(4)使用this關鍵字引用物件例項,只是this引用的是當前的物件例項,即不能在靜態成員中使用this關鍵字,因為靜態成員不是物件例項的一部分。
this關鍵字最常用的功能是把當前物件例項的引用傳遞給一個方法。
public void doSomething()
{
MyTargetClass myObj=new MyTargetClass();
myObj.DoSomethingWith(this);
}