美文网首页好程序员大数据
好程序员大数据培训分享Scala系列之抽象类

好程序员大数据培训分享Scala系列之抽象类

作者: ab6973df9221 | 来源:发表于2019-10-08 14:46 被阅读0次

    好程序员大数据培训继续为大家分享Scala系列之抽象类

    1抽象类的定义

    定义一个抽象类:

    如果某个类至少存在一个抽象方法或一个抽象字段,则该类必须声明为abstract。

    abstract class Person{//没有初始值,抽象字段var name:String//没有方法体,是抽象方法def id: Int}classEmploy extends Person{var name:String="Fred"//实现,不需要overide关键字def id = name.hashCode}

    2抽象类的应用

    定义带有抽象类型成员的特质:

    trait Buffer {  type T  val element: T}

    定义一个抽象类,增加类型的上边界

    abstract classSeqBuffer extends Buffer {  type U  //  type T <: Seq[U]  def length = element.length}

    abstract classIntSeqBuffer extends SeqBuffer {  type U = Int}

    abstract classIntSeqBuffer extends SeqBuffer {  type U = Int}//使用匿名类将 type T 设置为 List[Int]def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =  new IntSeqBuffer {       type T = List[U]       val element = List(elem1, elem2)     }valbuf = newIntSeqBuf(7, 8)println("length = " + buf.length)println("content = " + buf.element)

    好程序员大数据培训官网:http://www.goodprogrammer.org/

    相关文章

      网友评论

        本文标题:好程序员大数据培训分享Scala系列之抽象类

        本文链接:https://www.haomeiwen.com/subject/ztubpctx.html