亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Scala中的類型類有什么用?

Scala中的類型類有什么用?

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

3 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

重讀那里的第一條評論:


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


我認為這是類型類最重要的優點。


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


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)


  ...

}


查看完整回答
反對 回復 2019-12-12
  • 3 回答
  • 0 關注
  • 689 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號