Scala 专题教程-抽象成员(1): 概述

jerry Scala 2015年11月25日 收藏

当一个类或是Trait的成员没有定义完整的实现时,称为抽象成员。抽象成员需要在其子类中完成实现,在Scala中,抽象成员除了成员函数外,也可以说成员变量或是抽象类型。
本系列教程介绍四种抽象成员,vals, vars ,methods和types。
下面的例子定义了几种抽象成员:

  1. trait Abstract {
  2. type T
  3. def transform(x:T) :T
  4. val initial :T
  5. var current :T
  6. }

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

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

  1. class Concrete extends Abstract {
  2. type T = String
  3. def transform(x:String) = x + x
  4. val initial = "hi"
  5. var current = initial
  6. }

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