240 发简信
IP属地:青海
  • Chapter 31《Combining Scala and Java》

    从Java角度看Scala scala一般要和Java在大型程序中使用,使用Java中的框架。Scala的实现方式是将代码翻译成为标准的Java字节码,Scala的特性尽可能...

  • Chapter 30《Object Equality》

    Scala中的相等性 Scala的相等性比较和Java中的不同,在Java中使用==表示两个对象的引用相等性,使用equals表示自然意义的相等性。在Scala中使用eq表示...

  • Chapter 29《Modular Programming Using Objects》

    Scala中允许你使用package将程序分为小的部分,每一个小的部分叫做一个模块,package无法表示抽象,也不能被继承。而且在程序中只能有一种配置。 随着程序规模的增大...

  • Chapter 28《Working with XML》

    半结构化数据 XML是一种半结构化数据,既不是纯文本数据也不是编程中使用到的数据结构。在保存数据到文件中或对文件进行网络传输的时候非常有用,将数据转换为半结构数据,然后使用库...

  • Chapter 27《Annotations》

    注解是添加到程序源代码中的结构化信息,可以出现在变量,方法,表达式或者其他元素上,和注释不同,注解是由结构的,更易于被机器处理。 注解的存在意义 编写程序在编译和运行之外还有...

  • Chapter 26《Extractors》

    到目前为止所使用的模式匹配的拆解和匹配都建立在case class的基础上,如果要创建自己的模式而不定义case class,提取器提供了一种实现手段。 提取器 在Scala...

  • Chapter 25《The Architecture of Scala Collections》

    不同的集合支持实现支持相同的操作,如果在每个集合里面进行单独的实现,会出现大量的代码并且不利于保持集合操作的一致性。新的集合框架主要设计目标就是避免重复,在尽量少的地方定义,...

  • Chapter 24《Collections in Depth》

    可变和不可变集合 Scala中的集合可分为可变集合和不可变集合。可变集合可以当场被更新,不可变集合本身是不可变的。 所有的集合类都可以在scala.collection或者其...

  • Chapter 23《For Expressions Revisited》

    for表达式 for表达式一般是for ( seq ) yield expr,seq是一个序列,包含有生成器、定义和过滤器,它们用分号隔开。for {p <- persons...

  • Chapter 22《Implementing Lists》

    List类的原理 List算是Scala中最常用的结构。是一个抽象类,有子类::和Nil组成,List的类型参数是协变的,列表的所有操作都可以通过以下三种操作进行定义:def...

  • Chapter 21《Implicit Conversions and Parameters》

    隐式转换和隐式参数 如果使用别人的代码库,无法进行修改,Scala进行扩展的方法是隐式转换和隐式参数。允许省略掉冗余且明显的细节。 隐式转换 隐式转换通常在两个开发完全不知道...

  • Chapter 20 《Abstract Members》

    如果类或者特质的某个成员在当前类中没有完成的定义,则这个成员就是抽象的。抽象成员的本意是强制子类进行实现。Scala相对Java泛化了抽象字段的意义,存在四种抽象成员,val...

  • Chapter 19 《Type Parameterization》

    类型参数化允许设计泛型的类和特质。在Scala中必须确定类型参数,型变定义了参数化类型的继承关系,例如List[String]是List[Any]的子类。 信息隐藏 私有构造...

  • Chapter 18 《Mutable Objects》

    可变对象 可变对象的状态会随着时间而发生改变,与在类中有没有定义var并没有直接关联,有可能定义了var但只赋值了一次,操作的时候每次对该值的访问也是不变的。 可被重新赋值的...

  • 120
    Chapter 17 《Working with Other Collections》

    序列 列表 最重要的序列类型是List类,支持在头部快速添加和移除条目,不支持随机访问。快速的头部添加和移除意味模式匹配很顺畅。 数组 数组中保存了一个序列的元素。并使用从0...

  • Chapter 16 《Working with Lists》

    列表 不同于数组,列表的元素是不能改变的,列表是链表。 同一个列表的所有元素都必须是相同类型的。元素类型为T的列表类型为List[T]。注意T可能是Any这样的父类。Scal...

  • Chapter 15 《Case Classes and Pattern Matching》

    样例类是Scala对对象进行模式匹配而不需要大量样板代码的方式,对希望做模式匹配的类加上关键字case即可。在Scala中如果类的定义体是空时,可以省去定义体的花括号。 样例...

  • Chapter 14 《Assertions and Tests》

    查看软件是否符合预期的两个主要工具为断言和测试。 断言 主要是对assert函数的调用,可以直接放入一个condition,或者是assert(condition,expla...

  • Chapter 13 《Packages and Imports》

    在大程序中,减少耦合是很重要的,耦合是指程序不同部分依赖其他部分的程度。低耦合能够减少局部修改对其它部分造成的影响。方法就是以模块化的风格来书写代码。本章就是利用包和引入来进...

  • 120
    Chapter 12 《Traits》

    特质是代码复用的基础代码单元。每个特质都可以描述整个概念的一小块,最后可以通过特质混入,将这些小概念组合起来。 特质将方法和字段定义封装起来,将它们通过混入mix in的方法...