emaleavil
06/23/2017, 9:15 AMdiesieben07
06/23/2017, 9:19 AM(myObject as? SomeInterface)?.method()
.emaleavil
06/23/2017, 9:27 AMgildor
06/23/2017, 9:28 AMinterface Foo {
fun bar()
fun optionalBaz() {
//You can override me but it's not required
}
}
emaleavil
06/23/2017, 9:29 AMdiesieben07
06/23/2017, 9:29 AMgildor
06/23/2017, 9:30 AMemaleavil
06/23/2017, 9:32 AMdiesieben07
06/23/2017, 9:32 AMgildor
06/23/2017, 9:32 AMdiesieben07
06/23/2017, 9:33 AMprintln("hello world")
, there's your side effect.gildor
06/23/2017, 9:33 AMbut you don’t need to override it on every classsame for default method
diesieben07
06/23/2017, 9:34 AMgildor
06/23/2017, 9:34 AMdiesieben07
06/23/2017, 9:37 AMemaleavil
06/23/2017, 9:39 AMdiesieben07
06/23/2017, 9:40 AMUnit
.emaleavil
06/23/2017, 9:45 AMdiesieben07
06/23/2017, 9:50 AMemaleavil
06/23/2017, 9:55 AMgildor
06/23/2017, 9:56 AMemaleavil
06/23/2017, 9:59 AMdelegate.someOptionalMethod?(argument: 42)
. Note the ?
which makes sure (at runtime) that someOptionalMethod
only gets called if the delegate actually does implement it."diesieben07
06/23/2017, 10:34 AMemaleavil
06/23/2017, 10:37 AMdiesieben07
06/23/2017, 11:21 AM