, пожалуйста, посмотрите на следующий код:Как не переопределить 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)
^
Это может быть банальный вопрос, но после поиска в Интернете в течение некоторого времени, я не был в состоянии понять, как просто передать строку, Конструктор Student
будет представлен как name
конструктору Person
. Я не хочу ничего переоценивать. Что я делаю не так?
спасибо, что заблаговременно!
Возможно, вы намереваетесь: «Запечатанная черта Person {def name: String}' вместо этого. –