//继承枚举类实现枚举类的方法
//继承App 可以省略main方法,直接进行测试
object Suits extends Enumeration with App {
type Suits = Value
val Spade = Value("♣")
val Club = Value("♦")
val Heart = Value("♥")
val Diamond = Value("♠")
override def toString(): String = { //让其 toString 方法分别返回♣,♦,♥,♠
var s: String = null
if (this.equals("Spade")) s = "♣"
else if (this.equals("Club")) s = "♦"
else if (this.equals("Heart")) s = "♥"
else s = "♠"
return s
}
println(Spade.toString) //测试toString 方法
def color(c: Four.Value) = { //检查某张牌的花色是否为红色
if (c == Suits .Heart || c == Suits .Club) "red"
else "black"
}
println(color(Club)) //测试color方法
}
看一下精炼版的,注意type后面的 变量名要与类名一致
object Suits extends Enumeration{
type Suits = Value
val Spade = Value("♠")
val Club = Value("♣")
val Heart = Value("♥")
val Diamond = Value("♦")
override def toString():String={
Suits.values.mkString(",")
}
def isRed(card: Suits) = card == Heart || card == Diamond
}