open class A { open fun foo() {} } interface B { fun bar() } class C : A(), B { override fun bar() { TODO("Not yet implemented") } override fun equals(other: Any?): Boolean { return super.equals(other) } override fun foo() { super.foo() } override fun hashCode(): Int { return super.hashCode() } override fun toString(): String { return super.toString() } }