從零開始學Kotlin-使用接口(7)
阿新 • • 發佈:2018-01-27
如何 mark android interface inter rand 兩個 blog dtw
從零開始學Kotlin基礎篇系列文章
定義接口
使用關鍵字interface定義接口
interface InterfaceDemo7 { }
類或對象可以實現一個或者多個接口
class demo7 : InterfaceDemo7 { } class demo : InterfaceDemo71, InterfaceDemo72 { }
接口中定義屬性
接口中的屬性只能是抽象的,不允許初始化值
interface InterfaceDemo7 { val name: String var gender:String }
類實現接口的屬性:接口中的屬性只能是抽象的,不允許初始化值,接口不會保存屬性值,實現接口時,必須重寫屬性
class demo7 : InterfaceDemo7 { override val name: String = "SiberiaDante" override var gender: String = "男" }
接口中定義方法
接口中定義方法,方法可以直接被實現,也可以不實現
interface InterfaceDemo7 { fun voidOne()//定義一個方法,子類必須要實現該方法 fun voidTwo() {//定義一個方法,並實現;子類可以不實現該方法 print("接口已經實現了這個方法") } }
類實現接口並實行其中的方法
class demo7 : InterfaceDemo7 { override fun voidOne() {//實現接口中未實現的方法子類必須要實現 } // override fun voidTwo() {//接口中實現的方法,子類可以不實現 // super.voidTwo() // } }
類實現多個接口,且接口有一個共同的方法,需要指明類如何實現它們:使用super.<接口名>.方法名指定使用哪個方法
interface InterfaceDemo71 { fun showName() fun showAge() { print(18) } } interface InterfaceDemo72 { fun showName() { print("SiberiaDante") } fun showAge() { print(18) } }
class demo : InterfaceDemo71, InterfaceDemo72 { override fun showName() { } override fun showAge() {//兩個接口都有showAge()方法 super<InterfaceDemo71>.showAge()//使用super.<接口名>.方法名指定使用哪個方法 super<InterfaceDemo72>.showAge() } }
從零開始學Kotlin-使用接口(7)