/**
* 父类
*/
open class Father {
var chactor:String="性格内向"
open fun action(){//允许子类重写改方法
println("天下黑白可争,世间义理难料,唯留君之明月空悬")
}
}
/**
* 子类继承父类
*/
class Son :Father(){
override fun action() {
// super.action() 这里不注释会先执行父类的action方法,然后在执行重写的方法
println("子类重写父类action方法:落霞与孤鹜齐飞,秋水共长天一色")
}
}
fun main(args: Array<String>) {
var son1 = Son()
println("儿子继承父亲${son1.chactor}")
son1.action()//如果继承的方法没有注释掉super.action(),那么父类和子类的action方法都会被执行
}
本文通过一个简单的面向对象编程示例介绍了父类与子类的概念,演示了如何在子类中重写父类的方法。
350

被折叠的 条评论
为什么被折叠?



