C 關鍵字this和base比較

2022-05-09 20:46:29 字數 991 閱讀 3315

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

1,c# "this" keyword

其作用引用類的當前例項,其實看了下面這個例子就好理解了。    this不能用於靜態方法中.比如main~

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

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 區別

關於使用到了兩個c 關鍵字this和base。1,c this keyword 其作用引用類的當前例項,其實看了下面這個例子就好理解了。主要三個作用 當前例項 引數傳遞和索引器 1.1 當前例項 class team 在這裡因為是要將引數的name值傳入team類或者說物件的name成員變數中.在這...