1
SIP 25 позволит черту иметь конструктор. Пока это не будет реализовано, что было бы хорошим решением?, предоставляющий конструктор для характеристики scala
SIP 25 позволит черту иметь конструктор. Пока это не будет реализовано, что было бы хорошим решением?, предоставляющий конструктор для характеристики scala
Я думаю, что единственный обходной путь, чтобы определить некоторые абстрактные методы признака, которые напоминают конструктор Params и переопределить их в конкретной реализации:
trait A {
def message:String
}
val a = new A {
override val message = "Hello!"
}
В Скале всем теле вашего класса/признака является конструктором. Поэтому в основном вы используете один и тот же подход:
class B (override val message:String) extends A
val b = new B("Hello!")
Что делать, если я хочу, чтобы определить класс 'B расширяет Ā' и имеют' Ā' обеспечивая конструктор по умолчанию для него (как если бы 'A' был' абстрактный class') , – Neil
@Neil, см. Обновление. – Aivean