應(yīng)用中自己寫(xiě)的代碼和調(diào)用的第三方函數(shù)庫(kù)有著一個(gè)基本的區(qū)別:也就是你可以任意修改和擴(kuò)展自己寫(xiě)的代碼,而一般來(lái)說(shuō)在沒(méi)有源碼的情況下很難擴(kuò)展第三方函數(shù)庫(kù),只能利用函數(shù)庫(kù)提供什么就是什么。
C#3.0 支持靜態(tài)擴(kuò)展方法,可以為已經(jīng)定義的庫(kù),類(lèi)進(jìn)行擴(kuò)展。
在 Scala 中解決這個(gè)問(wèn)題是使用隱含類(lèi)型變換和隱時(shí)參數(shù)。它們可以使調(diào)用函數(shù)庫(kù)變得更加方便,并避免一些繁瑣和顯而易見(jiàn)的細(xì)節(jié)。
Scala 的 implicit 可以有 implicit 類(lèi),方法和參數(shù)。
本系列文章介紹 Scala 的隱式變換和隱式參數(shù)的用途。