Scala抽象类型

Posted yszd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala抽象类型相关的知识,希望对你有一定的参考价值。

 1 package big.data.analyse.scala
 2 
 3 import scala.io.{BufferedSource, Source}
 4 
 5 /**
 6   * 抽象类型
 7   * Created by zhen on 2019/1/6.
 8   */
 9 trait Reader{
10   type url <: java.io.Serializable
11   type content
12   def reader(fileUrl : url) : content
13 }
14 class FileReader extends Reader{
15   type url = String
16   type content = BufferedSource
17   override def reader(fileUrl : url) = Source.fromFile(fileUrl)
18 }
19 object AbstractType {
20   def main(args: Array[String]) {
21     val fileReader = new FileReader
22     val source = fileReader.reader("C:/Users/zhen/.spyder-py3/发布模块/setup.py")
23     for(line <- source.getLines()){
24       println(line)
25     }
26   }
27 }

结果:

技术分享图片

 

以上是关于Scala抽象类型的主要内容,如果未能解决你的问题,请参考以下文章

Scala抽象类型

创建一个扩展抽象类的对象并将其添加到 Scala 中类型抽象类的序列中

Scala:抽象类型模式 A 未选中,因为它已被擦除消除

如何创建类型化工厂方法构造函数的类层次结构并使用抽象类型从 Scala 访问它们?

Scala 基础 :面向对象(下篇)

Scala 学习之「类——基本概念3」