PHondogo
07/29/2022, 10:55 AMopen class Test {
open fun SomeClass.test(){}
}
class Test2 : Test() {
override fun SomeClass.test() {
super.test() // is compilation error
}
}
dmitriy.novozhilov
07/29/2022, 11:00 AMabstract class Base {
abstract fun String.foo()
open fun applyFoo(s: String) {
s.foo()
}
}
open class Derived : Base() {
override fun String.foo() {
// do something
}
}
class Impl : Derived() {
override fun applyFoo(s: String) {
super.applyFoo(s) // calls `foo` from Derived
// do something else
}
}
fun use(base: Base, s: String) {
base.applyFoo(s)
}
dmitriy.novozhilov
07/29/2022, 11:00 AM