2.继承

作者: 学吉他的袁先生 | 来源:发表于2020-07-28 11:48 被阅读0次

    kotlin中一个类如果想被继承,需要abstract或者open修饰

    abstract class Man{
        fun work(){}
    }
    open class Woman{
        fun work(){}
    }
    class FiveA:Man()
    class FiveB:Woman()
    

    如果被abstract修饰的父类,他的方法想要被复写,该方法需要被open修饰或者abstract 修饰

    abstract class SixMan{
        open fun work(){}
        abstract fun song()
    }
    class SixA:SixMan(){
        override fun work() {
            super.work()
        }
        override fun song() {
            
        }
    }
    

    kotlin中默认的类都是final的,如果想要被继承,需要用open修饰
    如果被open修饰的父类,他的方法想要被复写,该方法需要被open修饰

    open class Man7{
        fun work(){
    
        }
        open fun song(){
    
        }
    }
    
    class Person7 :Man7(){
        override fun song() {
            super.song()
        }
    }
    

    属性的复写:父类属性的复写需要override修饰

     abstract class Person8(open val age: Int){
        abstract fun work()
    }
    
    class MaNong(age: Int): Person8(age){
    
        override val age: Int
            get() = 0
    
        override fun work() {
            println("我是码农,我在写代码")
        }
    }
    
    fun main(args: Array<String>) {
        val person: Person8 = MaNong(23)
        person.work()
    }
    

    相关文章

      网友评论

          本文标题:2.继承

          本文链接:https://www.haomeiwen.com/subject/bvhfrktx.html