我正在创建一个基类 我有一些代码 start() 并且 bar()需要被继承 Foo
的类覆盖start()调用bar()
我的例子(foo.kt):
open class Foo {
fun start() {
bar()
//...
}
fun bar() {
TODO("implement me in deriving class")
}
}
我不喜欢 bar()抛出异常 我不喜欢 bar()与空白身体
Kotlin有什么我忘记了更好的选择吗?
答案 0 :(得分:2)
您可以制作您的方法(以及您的课程)abstract
:
abstract class Foo {
fun start() {
bar()
//...
}
abstract bar()
}
这将强制任何继承自Foo
的非抽象类实现bar
方法,并阻止任何人直接创建基类Foo
类的实例。 / p>