12.11.1 样例类最佳实践1
当我们有一个类型为Amount
的对象时,可以用模式匹配来匹配他的类型,并将属性值绑定到变量(即:把样例类对象的属性值提取到某个变量,该功能有用)
package com.atguigu.day11.moshipipei
object CaseClassDemo1 {
def main(args: Array[String]): Unit = {
val arr = Array(Dollar(1000), Currency(10000, "RMB"))
for (ele <- arr) {
val res = ele match {
case Dollar(v) => "$" + v
case Currency(v, u) => v + u
case _ => ""
}
println(res)
}
}
}
// 一个抽象类
abstract class Amount {}
// Dollar: 样例类 继承自 Amount
case class Dollar(value: Double) extends Amount {}
// Currency: 样例类
case class Currency(value: Double, unit: String) {}