У меня в голове есть следующий класс:
abstract class MyClass (data: MyData) {
def update(): MyClass = {
new MyClass(process())
}
def process(): MyData = {
...
}
}
Однако абстрактные классы не могут быть инстанцированы, поэтому строка new MyClass(process())
является ошибкой. Мой вопрос - есть ли способ сказать компилятору, что в случае каждого из дочерних классов MyClass я хочу создать объект именно этого дочернего класса? Кажется излишеством писать этот метод во всех дочерних классах. Играя с параметрами типа класса или метода, я не смог добиться этого сам.