Поскольку ранние инициализаторы Scala 2.13 устарели.
Как создать значение для передачи в суперкласс, которое должно быть вычислено (на основе других аргументов конструктора) и полностью приватным, поэтому при инициализации класса это не может бытьпрошло?
Пример того, что я сделал до сегодняшнего дня:
abstract class JmsServiceInitialiser(val qConfig: Config)
class ActiveMQService(
val configA: ConfigElement,
val configB: ConfigElement
) extends {
val config: Config = {
println(configA)
println(configB)
...
configA + configB
}
} with JmsServiceInitialiser(config)
(Это просто пример с поддельными именами классов, поскольку я не могу поделиться своим исходным кодом)
Если я определяю черту, я не знаю, как передать значение суперклассу, не подвергая его и не переопределяя его в конструкторе класса.
Я видел, что Дотти (Scala 3) допускает параметры черты, ноScala 2.13 этого не делает.
Пожалуйста, предоставьте фрагмент с объяснением, если вы знаете решение! Спасибо!