55.scala编程思想笔记——标记特征和case对象

来源:互联网 发布:淘宝云智投软件怎么用 编辑:程序博客网 时间:2024/04/29 13:26

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.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击