對不起,但我是斯卡拉新手。 我有一個抽象類和一個從抽象類繼承並實現其字段的具體類。對構造函數參數的限制
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是相當於吸氣函數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(VAR名:字符串,Var描述:字符串)擴展元素
這種推理是正確的? ConcreteElement實際上實現了Element的字段?
你真的需要在你的上下文中的可變字段(變量)嗎? –
某些字段類型爲Set(something)的String類型。 我認爲沒有必要使用var。 但是,如果我不使用var,我怎樣才能設置約束方法設置器 – user1826663