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