Iteration über ein versiegeltes Merkmal in Scala?

Ich wollte nur wissen, ob es möglich ist, ein versiegeltes Merkmal in Scala zu durchlaufen. Wenn nein, warum ist das nicht möglich? Da das Merkmal versiegelt ist, sollte es möglich sein, nein?

Was ich tun möchte, ist so etwas:

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)
}

Was ich möchte, kann in Java erfolgen, indem den Enum-Werten eine Implementierung gegeben wird. Gibt es in Scala ein Äquivalent?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage