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
相关文章推荐
- Android 四种基本布局LinearLayout、RelativeLayout、FrameLayout、TableLayout
- linux之sed用法
- Servlet常用类
- IT菜鸟的未来规划
- noip2010 三国游戏 (博弈论)
- 第107讲:Akka中的Future使用代码实战详解学习笔记
- 【Android杂谈】AsyncTask的详细使用解析
- Scala深入浅出进阶经典 第57讲:Scala中Dependency Injection实战详解
- Struts2 用通配符方式动态调用方法
- 读《大道至简》有感(二)
- 32位的VS通过odbc数据源访问64位Oracle
- <含泪活着>-观后感
- POJ 1321 棋盘问题
- 反转单链表+合并有序单链表+查找单链表中倒数第k个节点--20150924
- 【Java】值得注意的一些语法点2
- mybatis的一级缓存实现详解
- Android执行shell脚本命令(备忘记录与实际应用)
- Android解决软键盘遮挡Button
- JavaScript高级程序设计之基本概念之关键字和保留字 第3.2讲笔记
- UVa 12531 - Hours and Minutes