对不起,但我是 Scala 的新手。我有一个抽象类和一个从抽象类继承并实现其字段的具体类。
abstract class Element {
var name: String
var description: String
}
class ConcreteElement (var name: String, var description: String)extends Element
这是正确的吗?是的?我有许多从抽象类 Element 继承的类。现在我想检查变量名称,我只想根据某些约束实例化名称。我把这个控件放在哪里?显然在抽象类Element中。
在 Scala 中,变量声明 var x:T 等价于声明一个 getter 函数 x 和一个 setter 函数 x_=,定义如下:
def x: T
def x_= (y: T): Unit
所以我决定以这种方式声明变量,并将我的约束放在 getter 方法名称中。
abstract class Element {
def name: String
def name_= (y: String): Unit = {CONSTRAINT}
var description: String
}
类 ConcreteElement(变量名称:字符串,变量描述:字符串)扩展元素
这个推理正确吗?ConcreteElement 居然实现了 Element 的字段?