kotlin抽象类和继承
抽象类
一个类和其一些成员可以被声明为抽象。 抽象成员在其类中没有实现。 请注意,不需要使用open
来注释抽象类或函数。
可以用抽象来覆盖一个非抽象的open
成员 -
open class Base {
open fun f() {}
}
abstract class Derived : Base() {
override abstract fun f()
}
继承一个抽象类:父类使用abstract,而不使用open在class的开头,父类中的方法同样也是。
简单实例:
父类Human:
abstract class Human(var name:String) {
abstract fun eat()
}
子类man:
class man( name:String):Human(name){
override fun eat() {
println("${name}大口吃")
}
}
子类Woman:
class Woman(name:String):Human(name){
override fun eat() {
println("${name}小口吃")
}
}
测试test文件:
fun main(args: Array<String>) {
var person=man(name = "金三炮")
person.eat()
var person1=Woman(name = "朴金汇")
person1.eat()
}
运行结果:
金三炮大口吃
朴金汇小口吃