zoukankan      html  css  js  c++  java
  • 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 }

    解析:

      1.特质和抽象类可以定义一个抽象类型成员,这意味着类型可有具体实现来确定。

      2.含有抽象类型成员的特质或类(classes)经常和匿名类的初始化一起使用。

    结果:

  • 相关阅读:
    HTML学习笔记Day16
    HTML学习笔记Day15
    HTML学习笔记Day14
    三角形
    三级菜单
    开关制作源代码
    HTML标签
    弹性盒模型
    怪异盒模型
    实验7:Problem F: STL——字典
  • 原文地址:https://www.cnblogs.com/yszd/p/10234808.html
Copyright © 2011-2022 走看看