[我正在写一个ScalaTest记者,目前我有两个案例类事件'TestSucceeded'和'TestFailed',它们扩展了'Event'并且我有一个功能:
def getInfo(event: Event) {
println(event.suiteName)
}
suiteName字符串是'TestSucceeded'和'TestFailed'案例类的成员,但是我找不到比以下方法更好的实现方式]]
def getInfo(event: Event) {
if(event.isInstanceOf[TestSucceeded])
println(event.asInstanceOf[TestSucceeded].suiteName)
else println(event.asInstanceOf[TestFailed].suiteName)
}
我正在编写一个ScalaTest记者,目前我有两个案例类事件'TestSucceeded'和'TestFailed',它们扩展了'Event'并且我有一个函数:def getInfo(event:Event){println(event ... 。
像这样通过sealed abstract class
考虑代数数据类型