Возможно ли это?
Я пробовал что-то вроде этого:
object foo extends Foo {
constructorNamedArg = "qqq";
} {
abstractMethod() => bar.baz();
}
Возможно ли это?
Я пробовал что-то вроде этого:
object foo extends Foo {
constructorNamedArg = "qqq";
} {
abstractMethod() => bar.baz();
}
Согласно спецификации, это невозможно, может быть только список позиционных аргументов.
Я бы не стал использовать наследование для этого. Вместо этого я бы определил Foo
как конкретный класс:
class Foo(String constructorNamedArg, Baz abstractMethod()) {}
А сейчас на звонилке я бы написал:
Foo {
constructorNamedArg = "qqq";
abstractMethod() => bar.baz();
}
Или даже:
Foo {
constructorNamedArg = "qqq";
function abstractMethod() {
return bar.baz();
}
}
На Цейлоне обычным рефакторингом является переход от абстрактного класса с формальными методами к конкретному классу, параметризованному функциями.
ХТН