1. 程式人生 > >C#類的總結

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);

}