Итерация по запечатанному признаку в 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, предоставив реализацию значений enum. Есть ли эквивалент в Scala?

Ответы на вопрос(6)

Ваш ответ на вопрос