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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

C# this. 是什么意思

C# this. 是什么意思

C#
幕布斯6054654 2018-08-01 17:17:41
public Rectangular(double d){this.width = d;this.height = d;}public Rectangular(double width, double height){this.width = width;this.height = height;}就是這里面的this 有什么用的啊
查看完整描述

2 回答

?
千巷貓影

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

就是指代當(dāng)前的對(duì)象,
public Rectangular(double d)
{
this.width = d;
this.height = d;
}
這個(gè)this就是指當(dāng)前這個(gè)Rectangular。
這樣在你實(shí)例化這個(gè)類的時(shí)候,調(diào)用不同的Rectangular的width和height屬性就互不影響了。

追問(wèn)

是不是這樣寫(xiě)的話 上下兩個(gè)的 width和height 就是兩個(gè)東西啊 如果不這樣寫(xiě)就是上下兩個(gè)函數(shù)里的是同一個(gè)啊

為什么我刪掉第一個(gè)函數(shù)里的this不影響運(yùn)行結(jié)果 但刪去第二個(gè)函數(shù)的就影響

追答

構(gòu)造函數(shù)如果參數(shù)一樣,那樣就會(huì)出錯(cuò)的,只能刪除一個(gè)或者修改參數(shù)。
刪掉第一個(gè)函數(shù)里的this不影響運(yùn)行結(jié)果 但刪去第二個(gè)函數(shù)的就影響,應(yīng)該是你實(shí)例化的時(shí)候調(diào)用的是第二個(gè)構(gòu)造函數(shù),就是類似這樣的
Rectangular  rectangular  =new  Rectangular (2.5,3.6);

追問(wèn)

下面是這樣的

我刪了第一個(gè)this運(yùn)行結(jié)果一樣

刪了第2個(gè)運(yùn)行結(jié)果就變成Area  of  rec2  is  0

追答

應(yīng)該是沒(méi)有影響的     可能是GetArea方法的問(wèn)題
這是我的
 public double GetArea()
        {
            return width * height;
        } 我的運(yùn)行過(guò)了是沒(méi)有影響的


查看完整回答
反對(duì) 回復(fù) 2018-08-09
?
開(kāi)滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

因?yàn)?a >構(gòu)造函數(shù)的參數(shù)和對(duì)象的屬性是同名的,如果你在第二個(gè)函數(shù)中刪除了this,那就產(chǎn)生了歧義了,程序認(rèn)為等號(hào)左邊的width和height仍然是參數(shù)。只有加了this.以后,程序才能明白你是要給對(duì)象屬性賦值。

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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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