| public abstract class BaseClass() { | |
| protected abstract val kind : String | |
| protected open val kind2 : String = " kind1" | |
| fun debug() = kind + kind2 | |
| } | |
| public class Subclass : BaseClass() { | |
| override val kind : String = "Physical" | |
| override val kind2 : String = " kind2" | |
| } | |
| fun box():String = if(Subclass().debug() == "Physical kind2") "OK" else "fail" |