【发布时间】:2020-08-07 08:30:03
【问题描述】:
我目前正在处理一个处理大量硬件的 Kotlin 项目,并且我一直在寻找一种方法来创建类似于扩展函数的东西,除了一个类。在这种情况下,我希望一个类充当另一个类的子类,但仍要分开并放在另一个包中。通常,我会像这样使用这个类:
class Foo() {
fun doSomething() {
...
}
}
class Bar(val foo: Foo) {
fun doSomethingWithFoo() {
foo.doSomething()
}
}
val myFoo = Foo()
val myBar = Bar(myFoo)
myBar.doSomethingWithFoo()
是否可以通过扩展函数做一些事情来使这段代码更具可读性?
// Is this possible?
val myFoo = Foo()
val myBar = myFoo.Bar()
myBar.doSomethingWithFoo()
我现在将使用包装器扩展功能作为替代方案,但我想知道这是否可以直接实现。
// Wrapper function I'm using
fun Foo.Bar(): Bar {
return Bar(this)
}
【问题讨论】:
-
类似用例的相关问题:stackoverflow.com/questions/48861009/…
标签: kotlin