在Scala中对密封特性进行迭代?
我只是想知道是否有可能在Scala中迭代密封的特征?如果没有,为什么不可能?由于特性是密封的,应该可能没有?
我想做的是这样的:
sealed trait ResizedImageKey { /** * Get the dimensions to use on the resized image associated with this key */ def getDimension(originalDimension: Dimension): Dimension}case class Dimension(width: Int, height: Int)case object Large extends ResizedImageKey { def getDimension(originalDimension: Dimension) = Dimension(1000,1000)}case object Medium extends ResizedImageKey{ def getDimension(originalDimension: Dimension) = Dimension(500,500)}case object Small extends ResizedImageKey{ def getDimension(originalDimension: Dimension) = Dimension(100,100)}
通过给枚举值赋予实现,可以在Java中完成我想要的。Scala中有同等的东西吗?
大话西游666
慕神8447489
MM们