課程
/移動(dòng)開(kāi)發(fā)
/Android
/Flutter開(kāi)發(fā)第一步-Dart編程語(yǔ)言入門(mén)
,請(qǐng)大神幫我解答一下, 我實(shí)現(xiàn)是想不通了
2019-10-15
源自:Flutter開(kāi)發(fā)第一步-Dart編程語(yǔ)言入門(mén) 6-5
正在回答
我回答一下這個(gè)問(wèn)題:為什么這里的name值,被外部調(diào)用有所改變
注釋下面的構(gòu)造方法寫(xiě)法是Dart的語(yǔ)法糖寫(xiě)法,實(shí)際等價(jià)于:
const Person(String name,int age){
this.name = name;
this.age = age;
}
所以被外部調(diào)用時(shí),name的值會(huì)有所改變。當(dāng)然這種寫(xiě)法在這種情況下會(huì)報(bào)錯(cuò),因?yàn)槌A繕?gòu)造方法中類(lèi)的所有屬性都需要是final,所以只能使用語(yǔ)法糖的寫(xiě)法。目前的課程節(jié)點(diǎn)只有語(yǔ)法糖這種寫(xiě)法,可以初始化類(lèi)的final屬性
類(lèi)的屬性使用final,為了配合實(shí)例化時(shí)的const。先賦值再執(zhí)行構(gòu)造函數(shù),name不是被外部調(diào)用改變,而是在進(jìn)行賦值
舉報(bào)
Flutter開(kāi)發(fā)語(yǔ)言-Dart編程入門(mén),為大家上手及進(jìn)階Flutter打下堅(jiān)實(shí)基礎(chǔ)。
2 回答上一節(jié)說(shuō)子類(lèi)會(huì)繼承父類(lèi)的屬性和方法,不會(huì)繼承構(gòu)造函數(shù);這節(jié)怎么可以繼承父類(lèi)的構(gòu)造方法了????
2 回答list構(gòu)造創(chuàng)建編譯報(bào)錯(cuò),提示new List()構(gòu)造不可用
2 回答我的命名構(gòu)造方法報(bào)錯(cuò)
1 回答關(guān)于 dynamic 的問(wèn)題
1 回答請(qǐng)問(wèn)dart構(gòu)造方法可以私有化嗎?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2021-07-25
我回答一下這個(gè)問(wèn)題:為什么這里的name值,被外部調(diào)用有所改變
注釋下面的構(gòu)造方法寫(xiě)法是Dart的語(yǔ)法糖寫(xiě)法,實(shí)際等價(jià)于:
const Person(String name,int age){
this.name = name;
this.age = age;
}
所以被外部調(diào)用時(shí),name的值會(huì)有所改變。當(dāng)然這種寫(xiě)法在這種情況下會(huì)報(bào)錯(cuò),因?yàn)槌A繕?gòu)造方法中類(lèi)的所有屬性都需要是final,所以只能使用語(yǔ)法糖的寫(xiě)法。目前的課程節(jié)點(diǎn)只有語(yǔ)法糖這種寫(xiě)法,可以初始化類(lèi)的final屬性
2019-11-11
類(lèi)的屬性使用final,為了配合實(shí)例化時(shí)的const。先賦值再執(zhí)行構(gòu)造函數(shù),name不是被外部調(diào)用改變,而是在進(jìn)行賦值