23 lines
692 B
Kotlin
Vendored
23 lines
692 B
Kotlin
Vendored
// MODE: inheritors
|
|
|
|
<# block [ 1 Inheritor] #>
|
|
abstract class SomeClass {
|
|
<# block [ 1 Override] #>
|
|
abstract val someAbstractProperty: Int
|
|
<# block [ 2 Overrides] #>
|
|
open val nonAbstractProperty: Int = 10
|
|
open val notToBeOverriddenProperty: Int = 10
|
|
}
|
|
|
|
<# block [ 1 Inheritor] #>
|
|
open class DerivedClassA : SomeClass() {
|
|
override val someAbstractProperty: Int = 5
|
|
<# block [ 1 Override] #>
|
|
override val nonAbstractProperty: Int = 15 // NOTE that DerivedClassB overrides both getter and setter but counted once
|
|
}
|
|
|
|
class DerivedClassB : DerivedClassA() {
|
|
override var nonAbstractProperty: Int = 15
|
|
get() = 20
|
|
set(value) {field = value / 2}
|
|
} |