У меня есть базовый класс в «общем» модуле, который выглядит следующим образом:
class BaseClass(args: Seq[String] = Seq()) extends Serializable {
private val argMap: Map[String, String] =
// <More code here...>
object BaseClass {
def apply(args: Seq[String] = Seq()): BaseClass = new BaseClass(args)
}
Теперь я хочу расширить этот BaseClass в своем «модуле», поэтому я пытаюсь это ...
class MyNewClass(args: Seq[String] = Seq()) extends com.xyz.BaseClass {
// Add additional code here
}
object MyNewClass extends com.xyz.BaseClass {
def apply(args: Seq[String] = Seq()): MyNewClass = new com.xyz.MyNewClass(args)
}
Насколько я понимаю, когда я создаю экземпляр MyNewClass, он автоматически создает экземпляр и вызывает метод apply для базового класса, но этого не происходит. Как правильно расширить BaseClass таким образом, чтобы все его переменные и методы могли быть доступны через класс Child?