您的位置:首页 > 编程语言

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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: