隐式转换最佳实践

参考文献
scala 深入浅出实战经典 . 王家林
场景常用

隐式转换开发中经典实用方式

实验

package com.scode.scala
import java.io.File
import scala.io.Source
/**
 * author: Mr.Snail
 * function: 隐式类与隐式对象学习
 * date:2016/03/28 7.30
 * 隐式转换最佳实践
 * 为何最佳:无需 在增强类上方声明 import 即可使用 
 * 流程:
 * 1、定义同名伴生类与伴生对象:伴生类接收与使用类相同的参数(eg、path:String)
 * 2、在伴生对象中申明一个隐式方式,返回增强类
 * 3、增强类与具体增强方法的实现
 * 
 */
class RicherFile(file:File)
{
  def read=Source.fromFile(file.getPath()).mkString
}
class File_Implicit(path:String) extends File(path)
object File_Implicit
{
  implicit def file2RichFile(file:File)=new RicherFile(file)
}

object ImplicitBestPractise
{
  def main(args: Array[String]): Unit =
  {
    println(new File_Implicit("D:\\txt.txt").read)
  }
}


你可能感兴趣的:(隐式转换最佳实践)