前言
上一篇博客我们讲到了Kotlin面向对象的封装特性,这篇博客要讲到了是Kotlin的继承特性。
继承
继承的定义是子类继承父类的属性和方法。
实例代码
创建一个父类
/**
* 定义一个父类,父亲
*/
open class Father {
var chactor:String = "内向"
open fun action(){
println("在公共场合喜欢大声喧哗")
}
}
创建一个子类,继承父类
/**
* 子类,孩子继承父亲
*/
class Son :Father(){
override fun action(){
println("儿子很乖,在公共场合很有礼貌")
}
}
创建一个测试类
/**
* 测试类
*/
fun main(args: Array<String>) {
var son1 = Son()
println("儿子的性格${son1.chactor}")
son1.action()
}
运行结果
下面我解析上面用到的关键字open
,override
。
open关键字
在Kotlin编程语言当中,如果一个类要被继承,可以使用 open 关键字进行修饰。
override关键字
在基类中,使用fun声明函数时,此函数默认为final修饰,不能被子类重写。如果要允许子类重写该函数,那么就要在父类中手动添加 open 修饰它, 这样子类重写方法使用 override 关键词进行修饰。