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

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

Scala中的類型類有什么用?

Scala中的類型類有什么用?

從這篇博客文章中我了解到 ,Scala中的“類型類”只是使用特征和隱式適配器實(shí)現(xiàn)的“模式”。如博客中所述,如果我具有trait A和適配器,B -> A則可以調(diào)用一個(gè)函數(shù),該函數(shù)需要type A的參數(shù)和type類型的參數(shù),B而無需顯式調(diào)用此適配器。我發(fā)現(xiàn)它不錯(cuò),但不是特別有用。您能否給出一個(gè)用例/示例,以說明此功能的用途?
查看完整描述

3 回答

?
白衣非少年

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

重讀那里的第一條評(píng)論:


類型類和接口之間的關(guān)鍵區(qū)別在于,要使類A成為接口的“成員”,它必須在其自己的定義位置進(jìn)行聲明。相反,只要您可以提供所需的定義,就可以隨時(shí)將任何類型添加到類型類中,因此在任何給定時(shí)間的類型類的成員都取決于當(dāng)前作用域。因此,我們不在乎A的創(chuàng)建者是否期望我們希望它屬于的類型類;如果不是,我們可以簡(jiǎn)單地創(chuàng)建我們自己的定義以表明它確實(shí)屬于自己,然后相應(yīng)地使用它。因此,這不僅提供了比適配器更好的解決方案,從某種意義上說,它消除了適配器要解決的整個(gè)問題。


我認(rèn)為這是類型類最重要的優(yōu)點(diǎn)。


此外,它們可以正確處理操作沒有我們正在分派的類型的參數(shù)或具有多個(gè)參數(shù)的情況。例如考慮這種類型的類:


case class Default[T](val default: T)


object Default {

  implicit def IntDefault: Default[Int] = Default(0)


  implicit def OptionDefault[T]: Default[Option[T]] = Default(None)


  ...

}


查看完整回答
反對(duì) 回復(fù) 2019-12-12
  • 3 回答
  • 0 關(guān)注
  • 694 瀏覽
慕課專欄
更多

添加回答

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