Scala 类的类型成员和值成员

use*_*976 4 scala

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

ghi*_*hik 5

值成员(或更确切地说术语成员)是代表某些值的类成员。它们是: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
}
Run Code Online (Sandbox Code Playgroud)

不知道这个分类还有什么更有意义的说法吗?我希望有人能给出一些更一般的解释(如果有的话)。

  • 基本上,类型成员是类型成员,值成员是值成员。我真的认为没有什么可说的,除非OP提供了一个具体的问题。 (2认同)