您的位置:首页 > 其它

Scala深入浅出进阶经典 第58讲:Scala中Abstract Types实战详解

2015-09-25 23:27 316 查看
package com.dt.scalaInAction.demo_058

import scala.io.BufferedSource
import scala.io.Source

/**
* Scala中Abstract Types实战详解
*/
trait Reader {
/**
* 用type关键字 声明一个In类型(称为"抽象类型")
* 但没有指明具体类型是什么类型  需要在它的实现类中指明具体的类型
*
* 在声明抽象类型时 可以对类型进行限定
*/
type In <: java.io.Serializable
type Contents
/**
* 在抽象对的可以使用抽象类型
*/
def read(in: In): Contents
}
class FileReader extends Reader {
type In = String //在实现中赋值具体的类型
type Contents = BufferedSource  //type Contents = Contents
def read(name: In) = {
Source.fromFile(name)
}
}
object Abstract_Types {
def main(args: Array[String]): Unit = {
val fileReader = new FileReader
val content = fileReader.read("E:\\projectTest\\1.txt")
for (line <- content.getLines) println(line)
}
}


以上内容是从王家林老师DT大数据课程第58讲的学习笔记和个人整理。

DT大数据微信公众账号:DT_Spark

王家林老师QQ:1740415547

王家林老师微信号:18610086859

第58讲视频网站地址:http://pan.baidu.com/s/1bnc1skv
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: