1
考慮這種性狀「人」,這類「PersonImpl的」:Scala的設定器和吸氣劑
trait Person {
def name: String
def surname: String
def married: Boolean
def married_=(state: Boolean): Unit
override def toString(): String = name + " " + surname + " " + married
}
class PersonImpl(override val name: String,
override val surname: String,
override var married: Boolean) extends Person
使用REPL(來自命令行階,只需打開終端,輸入階)創建該性狀和類。我有以下信息: -defined性狀人 -defined類PersonImpl的
然後,仍然在命令行,I型:
- VAL號碼:人=新PersonImpl1( 「馬里奧」,「羅西」,假)
- 的println(p)
- p.married =真
- prinln(p)
我可以清楚地看到我的人已經創建並且var字段已經從false更改爲true。好吧。一旦
trait Element {
def x: Int
def y: Int
def width: Int
def height: Int
def x_:(i:Int):Unit
def y_:(i:Int):Unit
override def toString(): String = x + " " + y + " " + width + " " + height
}
class GameElement(override var x: Int,override var y: Int,override val width: Int,override val height: Int) extends Element
我鍵入類在命令行中我遇到了錯誤: 現在我重複同樣的過程正好與另一間教室和另一特點 「變量x,覆蓋無」
這怎麼可能?
我在元素特質忘記 '=',這就是:特徵元素{ 高清X:詮釋 DEF Y:詮釋 DEF寬度的:int DEF高度的:int DEF X _ :(我的:int):單位 DEFý_ :(我的:int):單位 倍率DEF的toString():字符串= X + 「」 + Y +「 「+ width +」「+ height } –
您拼寫錯了將元素與您的工作示例進行比較,您應該看到差異。 – puhlen