55.scala编程思想笔记——标记特征和case对象
2016-01-02 09:40
169 查看
55.scala编程思想笔记——标记特征和case对象
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50447608
源码下载连接请见第一篇笔记。
标记特征是一种将类或对象组织到一起的方式。
Sealed关键告诉scala,除了在此处看到的Color子类型之外,没有任何其他子类型。
Case对象像case类一样,只是产生的是对象而不是类。
例如:
import com.atomicscala.AtomicTest._
sealed trait Color
case object Red extends Color
case object Green extends Color
case object Blue extends Color
object Color {
val values =Vector(Red, Green, Blue)
}
def display(c:Color) = c match {
case Red=> s"It's $c"
case Green=> s"It's $c"
case Blue=> s"It's $c"
}
Color.values.map(display) is
"Vector(It's Red, It's Green, It's Blue)"
注意,传递给display的参数是标记特征Color.
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50447608
源码下载连接请见第一篇笔记。
标记特征是一种将类或对象组织到一起的方式。
Sealed关键告诉scala,除了在此处看到的Color子类型之外,没有任何其他子类型。
Case对象像case类一样,只是产生的是对象而不是类。
例如:
import com.atomicscala.AtomicTest._
sealed trait Color
case object Red extends Color
case object Green extends Color
case object Blue extends Color
object Color {
val values =Vector(Red, Green, Blue)
}
def display(c:Color) = c match {
case Red=> s"It's $c"
case Green=> s"It's $c"
case Blue=> s"It's $c"
}
Color.values.map(display) is
"Vector(It's Red, It's Green, It's Blue)"
注意,传递给display的参数是标记特征Color.
相关文章推荐
- 54.scala编程思想笔记——使用特征
- 53.scala编程思想笔记——组合
- 52.scala编程思想笔记——多态
- 51.scala编程思想笔记——浅尝反射
- 50.scala编程思想笔记——应用
- 49.scala编程思想笔记——衔接JAVA
- 48.scala编程思想笔记——统一访问方式和setter
- 47.scala编程思想笔记——特征
- 46.scala编程思想笔记——抽象类
- Java并发API:闭锁 CountDownLatch
- 45.scala编程思想笔记——枚举
- 44.scala编程思想笔记——覆盖方法
- 【Java】Java连接sql2008数据库
- matlab图像处理
- 43.scala编程思想笔记——基类初始化
- 42.scala编程思想笔记——继承
- 41.scala编程思想笔记——伴随对象
- 40.scala编程思想笔记——元组
- 39.scala编程思想笔记——自动字符串转换
- 38.scala编程思想笔记——定义操作符