Kotlin接口

来源于菜鸟教程

Kotlin接口与Java8类似,使用interface关键字定义接口。允许方法有默认实现:

    interface MyInterface {
      fun bar()           //未实现
      fun foo(){         //已实现
            println("foo")
} 
}    

实现接口

一个类或者对象可以实现一个或多个接口。

      class Child : MyInterface {
         override   fun  bar (){
             //方法体
}
}

实例:

接口中的属性

接口中的属性只能是抽象的,不允许初始化值,接口不会保存属性值,实现接口时,必须重写属性。

   interface MyInterface {
          var name : String       //name 属性,抽象的
}


class  MyImpl : MyInterface {
          override var name : String = "runoob"
}

函数重写

实现多个接口时,可能会遇到同一个方法继承多个实现的问题:如下

实现中接口A1和B1都定义了方法foo()和bar(),两者都实现了foo().B1实现了bar()。因为C是一个实现了A的具体类。所以必须要重写bar()并实现这个抽象方法。

然而,如果我们从 A和B 派生D我们需要实现多个接口的所有方法并指明D应该如何实现他们。这一规则即适用于继承单个实现也适用于继承多个实现的方法。

原文地址:https://www.cnblogs.com/djxf/p/10173440.html