2

在 Scala 中,类可以有类型成员和值成员,我只是想知道这两者之间有什么区别,什么时候使用其中之一。

4

1 回答 1

4

值成员(或者更确切地说是术语成员)是代表某些值的类成员。它们是:defs、vals、vars 和内部objects。

类型成员是表示类型的成员。这些是内部类、特征和抽象类型或类型别名(用关键字声明或定义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
}

我不知道关于这个分类还有什么更重要的要说。如果有的话,我希望有人可以给出更一般的解释。

于 2013-09-06T16:59:44.367 回答