Via 由 [ ] 提供

Scala 抽象成员

当一个类或是 Trait 的成员没有定义完整的实现时,称为抽象成员。抽象成员需要在其子类中完成实现,在 Scala 中,抽象成员除了成员函数外,也可以说成员变量或是抽象类型。

本系列教程介绍四种抽象成员,vals, vars ,methods 和 types。 下面的例子定义了几种抽象成员:


trait Abstract {
    type T
    def transform(x:T) :T
    val initial :T
    var current :T
}

这个例子定义了一个抽象类型 T, 一个抽象方法 transform, 一个抽象 var current 和一个抽象 val initial 。

派生的实类需要实现这些抽象成员,比如:


class Concrete extends Abstract {
    type T = String
    def transform(x:String) = x + x
    val initial = "hi"
    var current = initial
}

这个类实现,给抽象类型T赋予了真实的类型 String。然后为其它抽象成员给出了具体的定义。

鸣谢:引路蜂移动软件

更多资料请访问:http://www.scala-china.net/discuz/forum.php

更新日期 更新内容
2015-07-31 Scala-抽象成员
下一篇: Type成员