次のコードを見てみてください。親クラスのvalをオーバーライドしない方法は?
scala> sealed abstract class Person(val name: String)
defined class Person
scala> case class Student(id: Int, name: String) extends Person(name)
<console>:8: error: overriding value name in class Person of type String;
value name needs `override' modifier
case class Student(id: Int, name: String) extends Person(name)
^
これは些細な質問かもしれませんが、かなりの時間のためのWebを検索した後、私は単純にその文字列を渡す方法を見つけ出すことができませんでしたStudent
のコンストラクタはname
としてPerson
のコンストラクタに提供されます。私は何かを無効にしたくない。私は間違って何をしていますか?
ありがとうございます!
おそらく、あなたは 'sealed trait Person {def name:String}'を意図しています。 –