а не параметром конструктора?
interface Interface {
fun method()
}
class Trait: Interface {
override fun method() {}
}
// Работает
class TypeA(private val impl: Trait)
: Interface by impl {
}
// Не хотит. Unresolved reference: impl
class TypeB: Interface by impl {
private val impl = Trait()
}
Естественно только вовне можно так делать. Иначе – увы и ах, у вас объект то еще не будет инициализиpoван на моменте делегиpoвания
Обсуждают сегодня