C 關鍵字this和base 區別

2021-05-21 17:40:29 字數 1236 閱讀 7034

關於使用到了兩個c#關鍵字this和base。 

1,c# "this " keyword 

其作用引用類的當前例項,其實看了下面這個例子就好理解了。 

主要三個作用:當前例項、引數傳遞和索引器 

1.1 當前例項 

class team 

在這裡因為是要將引數的name值傳入team類或者說物件的name成員變數中. 

在這裡通過使用this可以表明name的物件是當前的例項,也就是team物件,而不是引數name. 

1.2 引數傳遞 

另外還有乙個作用就是可以做為 '指標 '來使用,可以將當前物件元素按照引用引數方式傳遞。 

例如: 

class a 

class b 

public void change() 

class demo 

這裡完成的是乙個引用引數傳遞,在這裡如果b物件中執行change方法後,b和a所對於得例項中的name都將改變為 "kathy ". 

3,索引器 

最簡單的知識,不多說了看乙個例子 

public object this [int param] 

set  

2,c# "base " keyword 

base其實最大的使用地方在面相對性開發的多型性上,base可以完成建立派生類例項時呼叫其基類建構函式或者呼叫基類上已被其他方法重寫的方法。 

例如, 

關於base呼叫基類建構函式 

public class a 

public class b:a 

如果建立乙個b的例項物件,獲得結果將是同時列印build a和build b. 

關於base在派生類中呼叫基類的方法。 

public class a 

public class b : a 

這樣如果程式呼叫b.hello()獲得的效果將會使hello world. 

最後補充下,根據msdn library介紹來看這兩個關鍵字都是屬於[訪問關鍵字]型別。

轉帖自 :

base和this關鍵字

首先看乙個 例項 class baseclass public baseclass int i class derivedclass baseclass public derivedclass int i class program 其輸出結果如下 baseclass without paramet...

base關鍵字 this關鍵字

用於在派生類中實現對基類公有或者受保護成員的訪問,但是只侷限在建構函式 例項方法和例項屬性訪問器中。功能主要包括 1 呼叫基類上已被其他方法重寫的方法。2 指定建立派生類例項時應呼叫的基類建構函式。base常用於,在派生類物件初始化時和基類進行通訊。base可以訪問基類的公有成員和受保護成員,私有成...

C 中this和base關鍵字

this 指的是這個物件本身,主要用於 在定義類時,寫上this.後vs會出現這個類中非靜態的成員,智慧型提示。一般在建構函式中使用,區分欄位和區域性變數 class person 用於在建構函式中呼叫兩乙個建構函式 class person public person string name,in...