第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c#中的base關(guān)鍵字

c#中的base關(guān)鍵字

C#
拉風(fēng)的咖菲貓 2018-08-01 14:14:30
書上的解釋是這樣的啊.它用于表示父類,通過它可以訪問父類的成員.我是這樣想的???this表當(dāng)前實例嗎,訪問類本身成員。既然是繼承了父類,那父類能訪問到的成員也就是子類的成員啊。用this也能訪問到啊,base怎么感覺純屬多余...
查看完整描述

2 回答

?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

樓上的已經(jīng)說的很明白了,現(xiàn)在說些他們的規(guī)則:Base 是子類中引用父類
This 是當(dāng)前類,引用自己 1、盡量少用或者不用base和this。除了避開子類的名稱沖突和在一個構(gòu)造函數(shù)中調(diào)用其他的構(gòu)造函數(shù)之外,base和this的使用容易引起不必要的結(jié)果。
2、在靜態(tài)成員中使用base和this都是不允許的。原因是,base和this訪問的都是類的實例,也就是對象,而靜態(tài)成員只能由類來訪問,不能由對象來訪問。
3、base是為了實現(xiàn)多態(tài)而設(shè)計的。
4、使用this或base關(guān)鍵字只能指定一個構(gòu)造函數(shù),也就是說不可同時將this和base作用在一個構(gòu)造函數(shù)上。
5、簡單的來說,base用于在派生類中訪問重寫的基類成員;而this用于訪問本類的成員,當(dāng)然也包括繼承而來公有和保護成員。
6、除了base,訪問基類成員的另外一種方式是:顯示的類型轉(zhuǎn)換來實現(xiàn)。只是該方法不能為靜態(tài)方法。 希望我的回答對你有幫助,如果方便請設(shè)為滿意答案。

查看完整回答
反對 回復(fù) 2018-08-06
?
藍山帝景

TA貢獻1843條經(jīng)驗 獲得超7個贊

如果說你父類里面有一個成員比如int a;那么你子類里面也可以再定義一個int a,這個時候base.a和this.a表示的就不是一個變量了,如果說子類里面沒有,那么base.a和this.a表示的都是一個變量。還有就是重寫,覆蓋和構(gòu)造函數(shù)里面調(diào)用父類的這個方法。可以用:base(),還有就是關(guān)于形參名和成員變量相同的時候,因為是就近原則,所以直接寫變量名字表示的就是形參,如果加了this表示的就是這個類的成員。C#里面的this和base 跟JAVA里面的this和super是一樣的。你在定義一個變量的時候有一個this引用,指向自身,還有一個引用base,指向父類。關(guān)于你說的那種情況就是我說的第一種,如果子類成員有和父類成員同名的時候,就必須用this和base區(qū)分。

查看完整回答
反對 回復(fù) 2018-08-06
  • 2 回答
  • 0 關(guān)注
  • 726 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號