电子书:《揭秘Kotlin编程原理》

[复制链接]
查看178 | 回复1 | 2019-12-27 14:19:52 | 显示全部楼层 |阅读模式

《揭秘Kotlin编程原理》_1

《揭秘Kotlin编程原理》_1

《揭秘Kotlin编程原理》_2

《揭秘Kotlin编程原理》_2

《揭秘Kotlin编程原理》_3

《揭秘Kotlin编程原理》_3


内容简介:

揭秘
KoLi绕程原理
封亚飞e
電子工常出版
Publishing House of Electronics Industry

内容简介
Kotlin被谷歌宣布为官方语言以来,引发了极大的关注,并成为学习的热点
本书主要从封装、继承和多态三个方面全面介绍Koin面向对象设计的语法特性及其
背后的实现方式。全书可分为基础篇、实战篇与提高篇,内容上层层深入,揭示了 Koulin
对属性包装、多种形态的函数定义方式以及各种特殊类型的定义等方面的背后实现机制
本书适合各种编程语言的开发者阅读,不管你是Java开发、 Kotlin开发、 Android开发
还是PHP、JSP,或者是C、C++、VB、Go语言的爱好者,都可以翻开阅读。因为里面总
会有让你感到熟悉的一些语言特性,当你看到 Kotlin中也有这样一种特性的时候,你一定
会会心一笑!
未经许可,不得以任何方式复制或抄袭本书之部分或全部内容
版权所有,侵权必究
图书在版编目(P)数据
揭秘 Kotlin编程原理/封亚飞著一北京:电子工业出版社,20183
ISBN978-7-121-334818
1.①揭…Ⅱ.①封…Ⅲ①JAVA语言一程序设计Ⅳ.①TP3128
中guo版本图书馆CP数据核字(2018)第006815号
策划编辑:刘皎
责任编辑:牛勇
印刷:三河市华成印务有限公司
装订:三河市华成印务有限公司
出版发行:电子工业出版社
北京市海淀区万寿路173信箱邮编:100036
开本:720×100016印张:18.75字数:324千字
版次:2018年3月第1版
印次:2018年3月第1次印刷
凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本
社发行部联系,联系及邮购电话010)88254888,825888
质量投诉请发邮件至zts@phei.com.cn,盗版侵权举报请发邮件至dbqq@phei.com.cn
本书咨询联系方式:010-512608819,faq@Phei.com.cn

前言
谷歌作为世界级的科技公司巨头,强悍的技术研发与创新能力使其一直是业界的
楷模,其在各个领域的每一次创新,都能够引领一个新的时代!
Kotlin便是其最新的一个创新力作
编程语言的历史已经超过了半个世纪,从最初的机器二进制码,到汇编、B语言
再到C语言,再到由C语言所开发出的其他若干种编程语言。每一种编程语言都有
其特定的用途,例如C语言通常用于开发底层系统软件或者驱动程序,而部分更底
层的功能则必须要由汇编甚至是直接的机器指令去完成。再如C艹+、 Delphi曾经统治
了PC桌面软件的开发领域,而应用服.务.器端的开发则长期被PHP、ASP、JSP垄断
浏览器端的嵌入式脚本则几乎由 JavaScript语言一统天下
这几年互联网领域先后经历了几次大ge命,包括物联网、大数据、云计算等,如
今则处于人工智能的火热时代。在这个时代,人们极其努力地开启机器智慧,在大数
据样本下,通过算法,让机器进行一定的模糊识别,从而解决很多传统办法解决不
的棘手问题。伴随其中的一个重要的编程语言便是Java,因为Java的口号是“ write
once, run anywhere”(即:一次编写,到处运行)。Java由于其强大的跨平台(主要
指操作系统)能力,而备受各种中间件组件开发人员的钟爱。而Java之所以能够跨
平台,主要归功于JM虚拟机
VM虚拟机内部针对不同的底层平台进行了通用性抽象,从而可以让Java这种

揭秘 Kotlin编程原理
上层编程语言对外提供统一的API,例如在进行多线程开发时,开发者无须在不同的
平台上引入不同的类库,而在开发界面视图时,Java也提供统一的界面组件类库。平
台的差异化工作都交给底层的JVM虚拟机进行适配处理,从而让高.层业务开发人员
可以专心进行业务设计与逻辑实现,不用再关心底层各种纷繁复杂的硬件和平台特性
开发人员唯一需要感知的平台差异性仅仅在于需要在不同的平台上下载平台相关的
JM软件而已。
在Java刚推出来的几年里,由于M的性能低下,导致不太被认可。但是后来
随着各种黑科技的引入,例如JT即时编译、基于Java字节码的栈顶缓存技术、垃
圾回收算法的改进、JDK高性能类库(例如并发包、NO等)的发布,等等,JM
的性能得到长足改进和飞速提升,早已今非昔比,在部分场景下甚至比CC++的性能
还要高,例如运行期所进行的方法与线程级的逃逸分析以及C1、C2分级动态编译等
技术。人们再也没有任何理由拒绝使用Java,所以Java得到了飞速发展,多年来稳
居服务端应用编程语言使用率第一的宝座
同时,JVM是一个开源的产品,在技术体系上也是开放的,当然,并不是无条
件的开放,而是在统一的技术规范下,不对实现做任何约束。因此各种基于JM规
范的编程语言也得以被发明出来,例如 Scala、 Clojure、 Groovy等,甚至PHP、Ruby
等程序也可以转换到JVM规范。不管高级编程语言是Java还是 Scala,只要能够被
翻译成Java字节码,JM都能够执行,这便是技术规范的开放性
虽然Java与M在最近这些年取得了巨大的成功,但是也并非没有缺点。例如
hava是一种严格的面向对象设计的编程语言,一切编程要素都被严格编写在Java类
型内部,你不可能像C语言那样,直接在源程序中定义一个函数。这种完全的面向
对象设计的特性也给Java自己造成了很多不便,例如无法对底层类库进行扩展,除
非你去继承并实现一个新的类型
同时,Java编程语言的语法太过于严格和死板,不像很多其他编程语言那样,有
不少让人心动的功能特性,这种死板和严格往往会造成工作效率的低下
于是, Kotlin诞生了。
当笔者刚看到 Kotlin时,并没有多少惊讶。因为 Kotlin底层仍然是基于JvM虚

前言
拟机的,主要是“仍然”哟!因为基于JVM的编程语言太多了,它们都有自己的“脾
气”和鲜明的“性格”,很难说谁比谁好。更何况,笔者刚刚读完了JM底层的源
代码,并汇编成书——《揭秘Java虚拟机:JVM设计原理与实现》(有兴趣的读者
可以上淘宝、京东、亚马逊、当当等主流平台上选购),因此笔者并没有觉得 Kotlin
会“玩”出啥新的花样来。然而,随着对 Kotlin特性了解的加深,笔者越来越发现
Kotlin真的不是随随便便搞出来的一个全新的编程语言——如果你有多年的编程开
发经验,并且熟知很多的编程语言,你会对 Kotlin感到很惊讶!因为这真的是一门融
合了众多编程语言特性的编程语言,并且是在不违反VM规范的基础上,将其他众
多语言的特性融入了进来,说其是博采众家之长,一点也不为过
在惊讶之余,笔者将对 Kotlin的理解写了下来,并形成了本书。本书着重为你介
绍 Kotlin各种高级特性背后的实现机制,希望我们可以一起探讨 Kotlin背后的设计
本书主要从封装、继承和多态这三方面介绍Koin的面向对象设计的语法特性及
其背后的实现方式
其中详细讲解了 Kotlin在面向对象封装方面所作出的努力, Kotlin保留了Java
封装好的一面,勇敢地摒弃了其不好的一面,例如对静态字段和方法的舍弃与变通
而在方法封装上, Kotlin更是玩出了新花样,打破了Java封装的彻底性,让Java开
发者可以体验“面向过程”编程的感觉。同时, Kotlin充分吸收其他编程语言中的好
的语言特性,提供了诸如VB语言中的“with语法”。
在继承方面, Kotlin也有自己的思考,其综合了Jaa和C++等面向对象编程语
言继承的优缺点,设计出自己的一套独特的继承机制。不过 Kotlin依然保留了Java
语言中一个类不能同时继承多个类的强制约束。
Kotlin给人最多的惊艳,都集中在“多态”这一领域。其中,最让笔者惊叹的便
是 Kotiln提供了这样一种能力:不用修改原有类,也无须通过继承的方式,就能为某
个类增加新的行为。虽然 Kotlin仅仅是取巧,仅仅实现了一个语法糖的包装,但是这
种小的改变却秀出了“美”的新高度。或许,这都不能算是继承,这里姑且将其与继
承混为一谈吧


#############################################


回复

使用道具 举报

半透明的墙 | 2019-12-27 14:19:57 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则