什么是接口
接口泛指实体把自己提供给外界的一种抽象化物(可以为另一种体),用以由内部操作分离出外部沟通方法,时期能被内部修改而不影响外界其他实体与其交互的方式。
接口就是一种与外界沟通方式
接口的声明和实现
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
网友评论