kotlin 基础 12 多态

作者: zidea | 来源:发表于2019-04-07 19:37 被阅读6次
    kotlin.jpeg

    什么是接口

    接口泛指实体把自己提供给外界的一种抽象化物(可以为另一种体),用以由内部操作分离出外部沟通方法,时期能被内部修改而不影响外界其他实体与其交互的方式。

    接口就是一种与外界沟通方式

    接口的声明和实现

    interface IXMan {
    
        fun specialSkill()
    }
    
    val logen = XMan("logen")
        logen.specialSkill()
    

    接口和抽象类

    • 接口是事物的能力
    • 抽象类是事物的本质

    Xman 本质是人类,也就是继承Human抽象类,实现了 Xman 具有特意功能。
    定义接口,class 或 Object 都可以实现接口一个或多个接口。

    interface XMenInterface {
        fun skill()
        fun recovery() {
          // optional body
        }
    }
    
    class Logen : XMenInterface {
        override fun skill() {
            // body
        }
    }
    
    interface XMenInterface {
        val power: Int // abstract
    
        val propertyWithImplementation: String
            get() = "xmen"
    
        fun attach() {
            print("attach at $prop")
        }
    }
    
    class Logen :XMenInterface {
        override val prop: Int = 29
    }
    

    接口继承

    interface Human {
        val name: String
    }
    
    interface XMen : Numan {
        val nickname: String
      
        override val name: String get() = "$nickname"
    }
    
    data class Logen(
        // implementing 'name' is not required
        override val nickName: String,
    
      
    ) : XMen
    
    kotlin_end.jpg

    相关文章

      网友评论

        本文标题:kotlin 基础 12 多态

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