scala程式設計 樣例類

2021-08-15 17:02:07 字數 620 閱讀 7072

樣例類在scala中是第一種特殊的類,可用於模式匹配(但在基於版本2.11.8測試中普通的類也能進行模式匹配),case class是多例的,後面需要加引數(無參也要加上括號),case object 是單例的。

import scala.util.random

abstract class animal extends flyable

}trait flyable

/** *在scala中樣例類是一中特殊的類,可用於模式匹配。

* case class是多例的,後面要跟構造引數,case object是單例的

*/case object cat extends animal

case class dog() extends animal

case class bird() extends animal

val animalarr = array[animal](cat, new dog, new bird)

val animal = animalarr(random.nextint(animalarr.length))

animal match

}

【來自@若澤大資料】

scala 密封類與樣例類

密封類 1,使用 sealed 修飾的類或者特質,不能在類定義檔案之外定義它的子類 2,可以避免濫用繼承 3,用在模式匹配之中,可以讓編譯器在編譯階段進行檢查,確保當前匹配的完整性package day01 sealed abstract class furniture 定義兩個樣例類 case c...

Scala模式匹配和樣例類

scala 有乙個十分強大的模式匹配機制,可以應用到很多場合 如 switch 語句 型別檢查等。並且 scala 還提供了樣例類,對模式匹配進行了優化,可以快速進行匹配。package cn.cheng.cases import scala.util.random val arr array ha...

Scala 模式匹配和樣例類

scala的模式匹配機制,可以應用到很多場合 scala還提供了樣例類,對模式匹配進行了優化,可以快速進行匹配 匹配字串 todo 匹配字串 類似 switch 定義乙個陣列 val arr array hadoop zookeeper spark storm 隨機取陣列中的一位,使用random....