我想学习斯卡拉语言。
在许多文档或视频教程中,我看到scala开发人员创建空的类或对象,并将其用于另一个类作为参数或实现空的特征!
例如:斯卡拉空课堂,对象,特质
object Controller {
sealed trait Controller
case object Login extends Controller
case object Logout extends Controller
}
或者这样:
sealed trait Expression
case class Number(num: Int) extends Expression
case class Plus(a: Expression, b: Expression) extends Expression
case class Minus(a: Expression, b: Expression) extends Expression
object ExpressionEvaluate {
def value(expression: Expression): Int = expression match {
case Number(value) => value
case Plus(a, b) => value(a) + value(b)
case Minus(a, b) => value(a) - value(b)
}
}
我想知道这是什么模式呢?
什么是空义类,对象或特征?
为什么开发人员使用这种模式?