Android开发Kotlin编程Android开发之Kotlin

从零开始学Kotlin-类的继承(6)

2018-01-21  本文已影响46人  SiberianDante

从零开始学Kotlin基础篇系列文章

Kotlin中的超类Any

   class demo6 //默认继承超类Any
   class demo6 : Any()
    override fun equals(other: Any?): Boolean {
        return super.equals(other)
    }

    override fun hashCode(): Int {
        return super.hashCode()
    }

    override fun toString(): String {
        return super.toString()
    }
    open class BaseClass (name:String) {//基类
    }
    class Demo6: BaseClass("SiberiaDante") {//继承基类
        }

类的构造函数的继承

    open class Person(var name : String, var age : Int){// 基类
    }
    class Student(name : String, age : Int, var no : String, var score : Int) : Person(name, age)
    open class Person(name: String) {
        constructor(name: String, age: Int) : this(name)
    }

    class Student : Person {
        constructor(name: String) : super(name)//调用基类主构造
        constructor(name: String, age: Int) : super(name, age)//调用基类次级构造
    }

类中方法的重写

    open class Person { //基类
        fun man() {//不允许子类重写的方法
            print("男人")
        }
        open fun women() {//允许子类重写方法
            print("女人")
        }
    }
    class Gender : Person() {//子类
        override fun women() {//重写父类方法
//            super.women()
        }
    }

类中属性的重写

    open class BaseColor() {
        open val red: String = "Red"//基类可重写的属性
    }
    
    class redColor : BaseColor() {
        override val red: String="Red1"//重写基类属性
        override val red: String//重写基类属性
            get() = super.red
    }
    open class BaseColor() {
        open val red: String = "Red"//基类可重写的属性
    }
    
    class redColor : BaseColor() {
        override var red: String="Red1"//重写基类属性
        override var red: String//重写基类属性
            get() = super.red
    }
上一篇下一篇

猜你喜欢

热点阅读