本文主要学习 Kotlin
中的代理模式的实现以及属性代理的使用。
代理模式已被实践证明为类继承模式之外的另一种很好的替代方案,Kotlin
对代理模式做了很好的支持,我们可以非常简单的实现代理模式。
属性代理使得我们可以将具有共同性质的属性的初始化通过属性代理来实现,简化了数据的读取和存储,同时在 Kotlin
中还内置了很多标准代理,可以大大简化开发过程。
最后我们使用属性代理来实现一个完全的封闭的访问 SharePreference
进行数据存取的例子。
本文主要学习 Kotlin
中的代理模式的实现以及属性代理的使用。
代理模式已被实践证明为类继承模式之外的另一种很好的替代方案,Kotlin
对代理模式做了很好的支持,我们可以非常简单的实现代理模式。
属性代理使得我们可以将具有共同性质的属性的初始化通过属性代理来实现,简化了数据的读取和存储,同时在 Kotlin
中还内置了很多标准代理,可以大大简化开发过程。
最后我们使用属性代理来实现一个完全的封闭的访问 SharePreference
进行数据存取的例子。
本文学习 Kotlin
中 object
关键字的使用。
使用 object
关键字的对象表达式可以创建匿名对象,适合那些只需要使用一次的类实现,使用匿名对象我们不需要给这些只用一次的类对象声明 class
而是在运行时直接创建即可。
使用 object
关键字进行对象声明,借助这种方法可以简单的实现单例和同伴对象。
本文主要介绍 Kotlin
范型的相关用法。
泛型的本质是参数化类型,操作的数据类型被指定为一个参数。使用范型约束:
增加代码的复用性,有时我们使用一些公用的数据结构,方法,类等,只是操作的对象类型不一样,但是代码逻辑一样,此时可以使用范型复用代码,比如 List<T>
,就可以用来存储任何一种对象。
保证代码中类型转换的安全性,使用范型进行约束,能够保证在编译期对类型的匹配进行检测和转换,避免运行期出现类型转换异常,而且这些转换都是自动和隐式的。
本文主要关于 Kotlin
中的特殊类,包括:
数据类:数据类的使用有诸多限制,它声明了一种数据结构,进行数据的存储。
嵌套类:相当于 java
中的静态内部类,可以直接使用外部类名创建。
内部类:相当于 java
中的内部类,需要使用外部类实例才能创建。
匿名内部类:使用 object
关键字创建的只用一次的类实现。
枚举类:比 java
更强大的枚举实现。
本文主要介绍 Kotlin
扩展 ( Extension
)的相关内容。
以下翻译自官方文档:
与
C#
和Gosu
类似,Kotlin
提供了向一个类扩展新功能的能力, 而且不必从这个类继承,也不必使用任何设计模式, 比如Decorator
模式之类。 这种功能是通过一种特殊的声明来实现的,Kotlin
中称为 扩展(extension
)。Kotlin
支持 扩展函数(extension function
) 和 扩展属性(extension property
)。
扩展 是很多高级语言都具备的特性,使用扩展可以在不侵入原来类的基础上扩展新的功能,比如我们常用的 Utils
方法,就可以完全使用扩展方法来替代。
本文主要介绍使用 CMAKE
编译 libjpeg-turbo
类库,本文相关代码请在GitHub-TurboJpegSample 查看。
libjpeg-turbo
附 GitHub 地址,libjpeg-turbo
是个运用极其广泛的库,可以说,基本上电脑上手机上能见到的 JPEG
压缩的地方用的一般都是 libjpeg-turbo
,本文只介绍使用了图片压缩的功能。