是否可以将对象的公共成员变量和方法公开到类的作用域中?例如,
class A {
val foo
fun bar() {
}
}
class B(
val a : A
) {
using a // I want something like this statement
... etc
}
字符串
在这个例子中,我希望能够像这样访问a的方法
val a = A()
val b = B(a = a)
val c = b.foo
b.bar()
型
这可能看起来很傻,但我正在构建一个Android应用程序,这样可以更容易地将依赖项传递到UI树中。
1条答案
按热度按时间q1qsirdb1#
你可以使用一个名为delegation的Kotlin特性:
字符串
但是,请注意,这将在
B
的声明中出现“Only interfaces can be delegated to”错误。这意味着A
必须是此功能工作的接口。解决方法:型