我想學習斯卡拉語言。
在許多文檔或視頻教程中,我看到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)
}
}
我想知道這是什麼模式呢?
什麼是空義類,對象或特徵?
爲什麼開發人員使用這種模式?