Scala编程(第四版)
Scala编程
- 可伸缩的语言
- 面向对象与函数式编程
- Scala优势
- Scala是兼容的
可伸缩的语言
1、适合构建将java组件组装在一起的脚本
2、用于编写可复用组件,并讲这些组件构建成大型框架
Scala是一门综合面向对象和函数式编程概念的静态类型编程语言
面向对象与函数式编程
面向对象
和java面向对象的区别:
java是不允许对象的值单独存在的,比如基础数据类型,并且java不允许以任何对象的成员形式存在的静态字段和静态方法
scala是纯面向对象的,1+2是Int类型的「+」函数
函数式编程
首先、函数式编程中,函数是一等值的,也就是说他和整数、字符串一样,可以作为参数,也可以返回
第二,函数式编程中,函数是不应该有副作用的,只有接收入参并返回结果两种方式和外部环境通信(scala不会强制要求)
Scala优势
Scala是兼容的
Scala程序会被编译成JVM字节码,运行期性能也和Java相当,Scala可以调用Java方法,访问Java字段,从Java继承,实现java接口等等。几乎所有Scala代码都重度使用Java类库
并且,Scala会对Java类进行「再包装」,比如Scala字符串支持.toInt()方法,但是java只能Integer.parseInt(str)。Scala对于这类由于高级类库设计和互操作性之间的矛盾产生问题,采用了隐式转换的方案解决,当类型没有正常匹配或者代码选中了java类型中不存在的成员时,Scala便会尝试隐式转换
在toInt()的事例中,scala会在Java的String类中找toInt()方法,但是JavaString类并没有这个党发,不过Scala会找到一个将Java的String转换成Scala的StringOps类的隐式转换,而StringOps中定义了这样一个方法(toInt),因此当执行真正toInt方法前,上述隐式转换就会被应用
Scala编程(第四版)相关推荐
- python编程第四版_清华编程教授强力推荐《Python编程》,指导你如何学习python
Python编程真的那么容易吗?仅仅是看理论就可以学以致用吗? 今天我给你介绍的这本书,也许会让你开始改变这种想法,因为这本书上的练习和案例以及指导本身就足够学好Python了. 清华编程教授强力推荐 ...
- python软件下载安装百度网盘-【python编程+第四版】百度云下载 - 云盘精灵
|- 用Python3带你从小白入门机器学习实战教程手册.pdf - 7.30 MB |- 人工智能Python实战代码 Python code for Artificial Intelligence ...
- python编程第四版_Python编程 第4版 影印版 上下册
内容概要 本书是由Mark Lutz编写的<Python编程(影印版第4版)>.<Python编程(影印版第4版)>的内容包括: Python快速入门:搭建一个简单的例子,包括 ...
- perl语言编程 第四版_2020年,5 种 将死的编程语言!
来源 | 码农网译者 | 小峰 曾几何时,几乎每个人都在使用Perl语言编程.但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲.至少我知道有这么个叫做"piecemea ...
- perl语言编程 第四版_2020年,5 种 将死的编程语言
来源 | 码农网 译者 | 小峰 曾几何时,几乎每个人都在使用Perl语言编程.但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲.至少我知道有这么个叫做"pieceme ...
- c语言编程第四版李丽娟课程,C语言程序设计教程 第4版 普通高等教育“十一五”国家级规划教材 教学课件 李丽娟 C语言程序设计教程(第4版)_第4章_分支结构.pdf...
C语言程序设计教程 (第4版) 第4章 分支结构 李丽娟 2013年2月 第4章 分支结构 本章主要内容 1. if语句的基本结构 2.if~else语句基本结构 3. if语句的嵌套结构 4. sw ...
- Scala 编程题四 继承
1.题目如下 封装,定义setter和getter方法用于存值和取值 定义人类Person, (1)字段:身份证号idCard,姓名name,性别gender,年龄age,职业profession,联 ...
- python编程输入标准-《Python编程 第四版》 -第3章 脚本运行上下文
本章重点内容: 1.当前工作路径 2.命令行参数 3.shell环境变量 4.标准流 接下来展开详细的说明: 1.当前工作路径 当前工作路径,英文简写"CWD" 当前工作路径是系统 ...
- perl语言编程 第四版_被称作“胶水语言”的PERL,在芯片设计和验证中可以这样使用...
最近在做一个验证环境的自动化生成脚本,在写的过程中,随着对PERL认知程度的增加,越感到它的强大之处,今天我们来谈一谈这门语言. PERL(Practical Extration and Report ...
最新文章
- Android初级教程获取手机系统联系人信息
- Java 编程下 Eclipse 如何设置单行代码显示的最大宽度
- TensorFlow学习笔记(二十六)CNN的9大模型之LeNet5的原理讲解
- java是值传递还是引用传递_Java 到底是值传递还是引用传递?
- centos修改磁盘uuid_为什么MySQL用uuid做主键会被骂?
- 接口测试--自定义断言设置
- 【2019南昌邀请赛网络赛I:】Max Answer(st表+单调栈(新模版)+分析)
- mib节点 snmp trap_浅谈 Linux 系统中的 SNMP Trap
- 写给音响工程师的科普文章(二)——从模电角度去了解调音台话放
- 使用海康8700综合平台对ds-6908解码器进行解码上墙大概配置
- 从项目中由浅入深的学习vue,react,微信小程序和快应用【加薪必备】
- php微信上传临时素材,PHP实战:php微信开发之上传临时素材
- micro hdmi引脚定义义_臻实力芯定义:京东AMD笔记本电脑双11开门红
- 03_使用决策树预测隐形眼镜类型
- java编程 吃货联盟订餐系统
- 安卓手机刷机+刷机精灵
- Java I/O读取和解析.emp文件示例
- 第一讲:计算机七层参考模型
- IIS服务器无法播放MP4/FLV/3GP等媒体格式的问题
- c语言数字基带实验报告,数字基带传输实验实验报告.doc