zoukankan      html  css  js  c++  java
  • kotlin 类的继承

    与Java不同,kotlin 使用冒号,而Java 中使用extends, 注意冒号后面需要调用夫类的构造器。属于单继承,使用open 关键字允许继承class

    package loaderman.demo
    
     open class Person (name:String){
    
       protected var mName:String =name
        fun getName():String{
            return mName
        }
    }
    package loaderman.demo
    
    class son :Person("enen"){
        fun getN():String{
            return mName
        }
    }
    package loaderman
    
    import loaderman.demo.son
    
    
    fun main(arg: Array<String>) {
    
        val n = son().getN()
        println(n)
    }

       方法重写

    类默认是不可继承的,连方法默认也是不可重写的,如果需要重写方法,就需要在父类中相应的方法上加伤open关键字。而且在子类重写的方法前加override关键字

    package loaderman.demo
    
     open class Person (name:String){
    
       protected var mName:String =name
        open fun getName():String{
            return mName
        }
    }
    package loaderman.demo
    
    class son :Person("enen"){
        override fun getName():String{
            return mName
        }
    }
    package loaderman
    
    import loaderman.demo.son
    
    
    fun main(arg: Array<String>) {
    
        val n = son().getName()
        println(n)
    }

    重写属性

    package loaderman.demo
    
    open class Person {
    
        open var mName: String = "Person name"
        open fun getName(): String {
            println(mName)
            return mName
        }
    }
    package loaderman.demo
    
    open class son :Person(){
        override var mName :String = "son name"
        get() {
            println("获取属性")
            return field
        }
        set(value) {
            field=value
            println("设置属性")
        }
        override fun getName():String{
            return mName
        }
    
    
    }
    package loaderman
    
    import loaderman.demo.son
    
    
    fun main(arg: Array<String>) {
    
        val n = son()
        n.mName="hah"
        println(n.mName)
    }
  • 相关阅读:
    Mac Python相关配置操作汇总
    暑假算法练习Day2
    暑假算法练习Day1
    《Min_25筛》
    《Yuchang and Zixiang’s stones》
    《Codeforces Round #732 (Div. 1)》
    《P7842 「PMOI-4」可怜的团主》
    《Codeforces Round #739 (Div. 3)》
    《斜率dp》
    《凸包》
  • 原文地址:https://www.cnblogs.com/loaderman/p/10126211.html
Copyright © 2011-2022 走看看