方法重写(Overriding methods)和属性重写(Overriding properties)

51 阅读1分钟

什么时候需要使用到重写?

一般都是在继承的时候

open关键字

kotlin语言有一个特点就是很多和java对应的类,方法,属性,成员之类的东西常常都是默认final,这个就会导致很多的以为可以直接操作的东西,现在都是需要使用open关键字让其开放。 下边展示一段代码:

open class Person<T>(open var value: T) {
    open fun walk() {
        println("walking.....")
    }

    fun study() {
        println("study.....")
    }
}

class Teacher(name: String) : Person<String>(name) {
    override fun walk() {
        println("走~~~")
    }
}

上边这段代码有value和walk函数都使用了open关键字,如果想要重写对应方法可以使用智能的IDE,先继承需要继承的父类,然后直接写父类方法或者属性的名字(注意要一模一样)就可以提示是不是需要重写,格式基本固定。

如下图: image.png