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

jerry Scala 2015年11月25日 收藏

当一个类或是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。然后为其它抽象成员给出了具体的定义。