
scala
文章平均质量分 73
ice泉
这个作者很懒,什么都没留下…
展开
-
【scala 笔记(8)】 特质 -- trait
特质(trait)是scala里代码复用的基础单元。 特质封装了方法和字段的定义, 并可以通过混入到类中复用它们。 与类的继承时每个类都只能继承唯一的超类不同, 类可以混入任意多个特质。当做接口使用的特质Scala的特质完全可以像Java的接口那样工作。例如:trait Logger{ def log(msg:String) // 抽象方法}class ConsoleLogger exten原创 2017-10-18 18:16:47 · 527 阅读 · 0 评论 -
【scala 笔记(1)】 基础
简介Scala是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。Scala 解释器启动Scala解释器的步骤如下: - 安装Scala (Linux 环境下先安装个Java环境, 再去官网下载个scala Unix版本,解压即可) - 确保 scala/bin 目录位于系统PAT原创 2017-10-13 18:17:06 · 496 阅读 · 0 评论 -
【scala 笔记(2)】 控制结构 -- 高级for循环和for推导式
scala for表达式是枚举操作的 “利器”, 它可以让你用不同的方式把若干简单的成分组合起来表达各种各样的枚举。 简单使用适合于通常的任务, 例如枚举整数序列。 高级表示可以同时枚举不同类型的多个集合,可以用任意条件过滤元素, 还可以制造新的集合。枚举集合类例如实现一个1到3的Range序列遍历:scala> 1 to 3res7: scala.collection.immutable.Ran原创 2017-10-10 16:11:13 · 646 阅读 · 0 评论 -
【scala 笔记(5)】 Scala中的函数
scala 除了支持方法(方法是对object的操作,也就是java中定义的class的方法)外还支持函数的; C/C++、Python 也有函数, 而在Java中我们只能通过静态方法来模拟。函数函数定义要定义一个函数,你要给出函数的名称、参数和函数体 ; 例如:def fac(x:Int) = { var result = 1 for (i <- 1 to x) resul原创 2017-10-13 18:22:18 · 921 阅读 · 0 评论 -
【scala 笔记(6)】 类(class)和对象(object)
熟悉JAVA/C++的人会发现Scala里的某些概念虽然相似,但却不完全相同。类 (class)简单类和方法定义简单类类形式和JAVA/C++很像:class Counter{ private var value: Int = 0 def increment(): Unit = value += 1 def count() :Int = value}在scala中并不需要申明publ原创 2017-10-13 18:23:13 · 823 阅读 · 0 评论 -
【scala 笔记(7)】 Scala 扩展类、匿名子类、抽象类、样例类、密封类
扩展类scala 扩展类的方式和Java一样, 使用 extends 关键字,例如:class Person(val Name:String){ def show() = {println("person name: " + Name)}}class Student(name:String) extends Person(name){ private var id = 0 // 重写字段原创 2017-10-13 18:24:36 · 1604 阅读 · 1 评论 -
【scala 笔记(3)】 控制结构 -- 模式匹配
scala 有一个十分强大的模式匹配机制, 可以应用在很多场合中, switch语句、 类型查询 , 以及 “析构”(获取复杂表达式中的不同部分)。 除此之外, scala 还提供了样例类, 对模式匹配进行了优化。更好的switch类似 C 风格的switch语法, 与default等效的是以 case _ 捕获所有情况, 若未进行 case _ 处理,在未能进行匹配到的情况下会抛出 MatchEr原创 2017-10-10 16:14:19 · 506 阅读 · 0 评论 -
【scala 笔记(4)】 控制结构 -- 自定义控制结构
scala 内置控制结构仅有 if 、 while、 for、 try 、match 几种,因为它提供了可以创建自己的控制抽象的能力; 自定义控制结构 - using使用过 Python 的同学应该都知道 上下文管理器, 这有利于资源的释放, 下面也将使用 Scala 实现个类似的文件读写上下文管理器控制结构object Test { def main(args: Array[String])原创 2017-10-10 16:15:25 · 490 阅读 · 0 评论 -
【scala 笔记(9)】 隐式转换 和 隐式参数-- implicit
隐式转换和隐式参数是Scala的两个功能强大的工具, 在幕后处理那些很有价值的工作。隐式转换所谓隐式转换函数(implicit conversion function)指的是那种以implicit关键字声明的带有 单个参数 的函数。 正如它的名称所表达的, 这样的函数将被 自动应用 ,将值从 一种类型转换为另一种类型。class Fraction(private var x:Int, private原创 2017-10-26 18:46:31 · 682 阅读 · 0 评论