JAVA开发Android/NDK开发

(二)Kotlin 面向对象

2018-12-13  本文已影响0人  onestravel

一、面向对象的概念

二、抽象类与接口

相当于半成品与协议

1、接口

interface InputDevice{
    fun input(event: Any)
}

2、抽象类

3、抽象类和接口的共性

3、抽象类和接口的区别

三、类的继承与接口的实现

接口代理

接口方法冲突

- 接口方法可以有默认实现
- 签名一致且返回值相同的冲突
- 子类(实现类)必须复写冲突方法
- super<[父类(接口)名]>.[方法名]([参数列表])

四、类及其成员的可见性

Kotlin Java
private private
protected protected
-- default(包内可见)
internal(模块内可见) --
public public

五、object

六、伴生对象与静态成员

七、方法重载(Overloads)和默认参数

重载
默认参数
方法重载与默认参数

八、扩展成员(二次加工)

fun X.y():Z{...}
val X.m 
//注意扩展属性不能初始化,类似接口属性

九、属性代理

val/var <property name>: <Type> by <expression>

十、数据类(data class)

data class China(val code:Int,name: String)
val (a,b) = China(0,"中国")
pringln("$a -> $b")
//build.gradle 中的 dependencies 中添加 
dependencies{
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
    classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
}

//build.gradle 中 添加插件的应用
apply plugin: 'kotlin-noarg'
apply plugin: 'kotlin-allopen'

// 插件的配置

noArg{
    annotation("注解类名")
}

allOpen{
    annotation("注解类名")
}

十一、内部类

匿名内部类

十二、枚举类

十二、密封类(sealed class)

上一篇:(一)Kotlin 基础语法

下一篇:(三)Kotlin 高阶函数

上一篇下一篇

猜你喜欢

热点阅读