public
static
class
stringextension
", s);}
}
為什麼這裡會有乙個this關鍵字,做什麼用?其實這就是擴充套件方法!這個擴充套件方法在靜態類中宣告,定義乙個靜態方法,其中第乙個引數定義可它的擴充套件型別。foo()方法擴充套件了string類,因為它的第乙個引數定義了string型別,為了區分擴充套件方法和一般的靜態方法,擴充套件方法還需要給第乙個引數使用this關鍵字。
現在就可以使用帶string型別的foo方法了:
string s=「hello」; s.foo();
結果在控制台上顯示foo invoked for hello ,因為hello是傳送給foo方法的字串。
歸納:擴充套件方法可以寫入最初沒有提供該方法的類中。還可以把方法新增到實現某個介面的任何類中,這樣多個類可以使用相同的實現**。
C 靜態成員 靜態方法 靜態類
c 靜態方法與非靜態方法的區別不僅僅是概念上的,那麼他們有什麼具體的區別呢?讓我們通過本文向你做一下解析。c 的類中可以包含兩種方法 c 靜態方法與非靜態方法。那麼他們的定義有什麼不同呢?他們在使用上會有什麼不同呢?讓我們來看看最直觀的差別 使用了static 修飾符的方法為靜態方法,反之則是非靜態...
C 類中的靜態成員與靜態方法
c 中,若類的方法前加了static關鍵字,則該方法稱為靜態方法,反之為例項方法。靜態方法為類所有,可以通過物件來使用,也可以通過類來使用。但一般提倡通過類名來使用,因為靜態方法只要定義了類,不必建立類的例項就可使用。靜態方法只能呼叫靜態變數。通過類的例項物件去呼叫 呼叫格式為 物件名.方法名通過類...
類中的靜態 非靜態方法
c 的類中可以包含兩種方法 靜態方法和非靜態方法。使用了static 修飾符的方法為靜態方法,反之萴是非靜態方法。靜態方琺是 種 特殊的成園方琺,它不屬紆類的某乙個具體的實唎,而是屬於類本裑。葰以對靜態方法不需要首先建立乙個類哋例項,而是採用類名.靜態方法的格式 1.static方法是類中的乙個成園...