天天看點

|NO.Z.00069|——————————|BigDataEnd|——|Hadoop&Scala.V01|——|Scala.v01|隐式機制|隐式轉換|

### --- 隐式機制課程大綱

~~~     隐式轉換
~~~     隐式轉換函數
~~~     隐式參數和隐式值      
### --- 隐式轉換

~~~     隐式轉換和隐式參數是Scala中兩個非常強大的功能,
~~~     利用隐式轉換和隐式參數,可以提供類庫,對類庫的使用者隐匿掉具體的細節。
~~~     Scala會根據隐式轉換函數的簽名,在程式中使用到隐式轉換函數接收的參數類型定義的對象時,
~~~     會自動将其傳入隐式轉換函數,轉換為另外一種類型的對象并傳回,這就是“隐式轉換”。      
### --- 隐式轉換函數

~~~     首先得有一個隐式轉換函數
~~~     使用到隐式轉換函數接收的參數類型定義的對象
~~~     Scala自動傳入隐式轉換函數,并完成對象的類型轉換
~~~     隐式轉換需要使用implicit關鍵字。      
### --- 使用Scala的隐式轉換有一定的限制:

~~~     implicit關鍵字隻能用來修飾方法、變量、參數
~~~     隐式轉換的函數隻在目前範圍内才有效。
~~~     如果隐式轉換不在目前範圍内定義,那麼必須通過import語句将其導入
~~~     Spark源碼中有大量的隐式轉換和隐式參數,是以必須掌握隐式機制。