Fork me on GitHub

Scala 点滴

Implict:隐式转换函数是指在同一个作用域下面,一个给定输入类型并自动转换为指定返回类型的函数,这个函数和函数名字无关,和入参名字无关,只和入参类型以及返回类型有关。注意是同一个作用域。

 

type 声明别名(alias)(通常用于声明复杂类型定义一个抽象类型):

type S = String

 

构造case class的实例,不需要使用new,可以简单地使用类的名字来作为一个函数。Case Class是也是普通类,但其导出构造参数,并通过模式匹配提供递归分解机制。

定义为case,有以下的特性:

  • Case Class 隐式地就有了一个构造方法,与类名一致。可以直接使用Sum(Sum(Number(1) , Number(2)) , Number(3))
  • 隐式地有了toString , equals 和hashCode的实现。在重写的时候把这个类里所有的成员都用上。(书上说的是把类参数当成val去维护)
  • 可以直接访问构造参数。否则在其他的类中,应该再提供类似于def n : Int 这样的方法来让外界访问这个变量。
posted @ 2015-08-13 17:32  ZHK的博客  阅读(111)  评论(0)    收藏  举报