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

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

嘗試學(xué)習(xí)/理解Ruby setter和getter方法

嘗試學(xué)習(xí)/理解Ruby setter和getter方法

眼眸繁星 2019-10-19 16:34:54
我正在學(xué)習(xí)編程,因此決定嘗試Ruby。我確定這是一個(gè)愚蠢的問(wèn)題,但是講師在談?wù)搒etter和getter方法,對(duì)此我感到困惑。這是示例:class Human  def noise=(noise)    @noise = noise  end  def noise    @noise  endend由此,該類(lèi)被實(shí)例化,我可以將其輸出:man = Human.newman.noise=("Howdie!")puts man.noise這導(dǎo)致 Howdie!現(xiàn)在讓我感到困惑的是,講師說(shuō)如果沒(méi)有g(shù)etter方法(這兩個(gè)方法中的第二個(gè)),就無(wú)法與實(shí)例變量@noise進(jìn)行交互。但是當(dāng)我刪除getter方法時(shí),我仍然可以訪問(wèn)@noise,請(qǐng)參見(jiàn)示例:class Human  def noise=(noise)    @noise = noise  endendman = Human.newputs man.noise=("Howdie!")這與使用getter方法時(shí)的工作原理相同。所以現(xiàn)在我很困惑。為什么需要吸氣劑?如果沒(méi)有實(shí)例變量,教員意味著什么呢?他可能正在使用舊版本的Ruby嗎?在此先感謝您的幫助。
查看完整描述

3 回答

?
牛魔王的故事

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

代碼行


puts man.noise=("Howdie!")

不使用getter方法,因此不需要定義getter方法即可工作。該行僅使用setter方法。setter方法的返回值自動(dòng)等于等號(hào)右側(cè)的值,因此“ Howdie!” 被傳給puts。


代碼行


puts man.noise

確實(shí)使用getter方法,如果刪除getter方法,它將無(wú)法正常工作。


查看完整回答
反對(duì) 回復(fù) 2019-10-19
?
婷婷同學(xué)_

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

當(dāng)然,它們都返回一個(gè)值,但是它們的行為是不同的。

假設(shè)已經(jīng)有一個(gè)成員@a 。

使用getter,@a無(wú)需修改即可獲取的當(dāng)前值。

使用二傳手,可以修改@a并獲取其新值作為返回值。

在考慮二傳手的行為時(shí),請(qǐng)注意:

  1. @a的舊值無(wú)法使用setter獲取,并被覆蓋。

  2. setter返回的內(nèi)容實(shí)際上是在調(diào)用setter之前就已經(jīng)知道的。


查看完整回答
反對(duì) 回復(fù) 2019-10-19
  • 3 回答
  • 0 關(guān)注
  • 700 瀏覽

添加回答

舉報(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)