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

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

為什么要“避免方法重載”?

為什么要“避免方法重載”?

為什么Jorge Ortiz建議避免方法重載?
查看完整描述

3 回答

?
蕭十郎

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

Gilad和Jason(重新命名)給出的原因都是避免過載的很好理由。吉拉德(Gilad)的原因集中在為什么重載通常是有問題的,而杰森(Jason)的原因集中在為什么在其他Scala功能中它是有問題的。


在Jason的列表中,我要補(bǔ)充一點(diǎn),重載與類型推斷的交互作用很差??紤]:


val x = ...

foo(x)

推斷類型的x更改可能會更改foo調(diào)用哪個方法。該值的x需求不會改變,只是推斷類型的x,這可能發(fā)生的各種原因。


由于給出的所有原因(還有更多我確定會忘記的原因),我認(rèn)為應(yīng)盡量少使用方法重載。


查看完整回答
反對 回復(fù) 2019-10-16
?
猛跑小豬

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

我認(rèn)為建議不是特別針對scala的,而是針對OO的(到目前為止,我知道scala應(yīng)該是OO和功能之間的最佳選擇)。


覆蓋是好的,它是多態(tài)性的核心,并且是OO設(shè)計(jì)的核心。


另一方面,過載更成問題。使用方法重載很難辨別哪個方法將被真正調(diào)用,并且確實(shí)經(jīng)常引起混淆。也很少有理由說明為什么確實(shí)需要重載。大多數(shù)時候,可以用另一種方法解決問題,我同意超載是一種氣味。


這里的一篇文章很好地解釋了“超載是混亂的根源”的含義,我認(rèn)為這是不鼓勵這樣做的主要原因。它適用于Java,但我認(rèn)為它也適用于Scala。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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