在Scala中,类可以有类型成员和值成员,我只是想知道这两者之间的区别是什么,以及何时使用其中一种。
答案 0 :(得分:3)
值成员(或者更确切地说,术语成员)是表示某些值的类成员。
它们是:def
s,val
s,var
和内部object
s。
类型成员是表示类型的成员。这些是内部类,特征和抽象类型或类型别名(使用关键字type
声明或定义)。
abstract class A {
// examples of term members
val someVal = 5
var someVar = 0
def someMethod(someParam: Int) = someParam * 2
object someInnerObject
// examples of type members
type SomeTypeAlias = List[String]
type SomeAbstractType
trait SomeInnerTrait
class SomeInnerClass
}
我不知道对这种分类有什么更重要的说法。如果有的话,我希望有人可以提供更一般的解释。