base:
用于在派生類中實(shí)現(xiàn)對基類公有或者受保護(hù)成員的訪問,但是只局限在構(gòu)造函數(shù)、實(shí)例方法和實(shí)例屬性訪問器中。
MSDN中小結(jié)的具體功能包括:
(1)調(diào)用基類上已被其他方法重寫的方法。
(2)指定創(chuàng)建派生類實(shí)例時(shí)應(yīng)調(diào)用的基類構(gòu)造函數(shù)。
base常用于,在派生類對象初始化時(shí)和基類進(jìn)行通信。
base可以訪問基類的公有成員和受保護(hù)成員,私有成員是不可訪問的。
在多層繼承中,base可以指向的父類的方法有兩種情況:一是有重載存在的情況下,base將指向直接繼承的父類成員的方法;而沒有重載存在的情況下,base可以指向任何上級父類的公有或者受保護(hù)方法。
this:
用于引用類的當(dāng)前實(shí)例,也包括繼承而來的方法,通??梢噪[藏this。
MSDN中的小結(jié)功能主要包括:
(1)限定被相似的名稱隱藏的成員
(2)將對象作為參數(shù)傳遞到其他方法
(3)聲明索引器
this指代類對象本身,Examda提示: 用于訪問本類的所有常量、字段、屬性和方法成員,而且不管訪問元素是任何訪問級別。因?yàn)?,this僅僅局限于對象內(nèi)部,對象外部是無法看到的,這就是this的基本思想。另外,靜態(tài)成員不是對象的一部分,因此不能在靜態(tài)方法中引用this。
通用規(guī)則:
1、盡量少用或者不用base和this。除了決議子類的名稱沖突和在一個構(gòu)造函數(shù)中調(diào)用其他的構(gòu)造函數(shù)之外,base和this的使用容易引起不必要的結(jié)果。
2、在靜態(tài)成員中使用base和this都是不允許的。原因是,base和this訪問的都是類的實(shí)例,也就是對象,而靜態(tài)成員只能由類來訪問,不能由對象來訪問。
3、base是為了實(shí)現(xiàn)多態(tài)而設(shè)計(jì)的。
4、使用this或base關(guān)鍵字只能指定一個構(gòu)造函數(shù),也就是說不可同時(shí)將this和base作用在一個構(gòu)造函數(shù)上。
5、簡單的來說,base用于在派生類中訪問重寫的基類成員;而this用于訪問本類的成員,當(dāng)然也包括繼承而來公有和保護(hù)成員。
6、除了base,訪問基類成員的另外一種方式是:顯示的類型轉(zhuǎn)換來實(shí)現(xiàn)。只是該方法不能為靜態(tài)方法。
用于在派生類中實(shí)現(xiàn)對基類公有或者受保護(hù)成員的訪問,但是只局限在構(gòu)造函數(shù)、實(shí)例方法和實(shí)例屬性訪問器中。
MSDN中小結(jié)的具體功能包括:
(1)調(diào)用基類上已被其他方法重寫的方法。
(2)指定創(chuàng)建派生類實(shí)例時(shí)應(yīng)調(diào)用的基類構(gòu)造函數(shù)。
base常用于,在派生類對象初始化時(shí)和基類進(jìn)行通信。
base可以訪問基類的公有成員和受保護(hù)成員,私有成員是不可訪問的。
在多層繼承中,base可以指向的父類的方法有兩種情況:一是有重載存在的情況下,base將指向直接繼承的父類成員的方法;而沒有重載存在的情況下,base可以指向任何上級父類的公有或者受保護(hù)方法。
this:
用于引用類的當(dāng)前實(shí)例,也包括繼承而來的方法,通??梢噪[藏this。
MSDN中的小結(jié)功能主要包括:
(1)限定被相似的名稱隱藏的成員
(2)將對象作為參數(shù)傳遞到其他方法
(3)聲明索引器
this指代類對象本身,Examda提示: 用于訪問本類的所有常量、字段、屬性和方法成員,而且不管訪問元素是任何訪問級別。因?yàn)?,this僅僅局限于對象內(nèi)部,對象外部是無法看到的,這就是this的基本思想。另外,靜態(tài)成員不是對象的一部分,因此不能在靜態(tài)方法中引用this。
通用規(guī)則:
1、盡量少用或者不用base和this。除了決議子類的名稱沖突和在一個構(gòu)造函數(shù)中調(diào)用其他的構(gòu)造函數(shù)之外,base和this的使用容易引起不必要的結(jié)果。
2、在靜態(tài)成員中使用base和this都是不允許的。原因是,base和this訪問的都是類的實(shí)例,也就是對象,而靜態(tài)成員只能由類來訪問,不能由對象來訪問。
3、base是為了實(shí)現(xiàn)多態(tài)而設(shè)計(jì)的。
4、使用this或base關(guān)鍵字只能指定一個構(gòu)造函數(shù),也就是說不可同時(shí)將this和base作用在一個構(gòu)造函數(shù)上。
5、簡單的來說,base用于在派生類中訪問重寫的基類成員;而this用于訪問本類的成員,當(dāng)然也包括繼承而來公有和保護(hù)成員。
6、除了base,訪問基類成員的另外一種方式是:顯示的類型轉(zhuǎn)換來實(shí)現(xiàn)。只是該方法不能為靜態(tài)方法。

