Rasgos sellados en Scala
Mohammad Irfan
21 junio 2023
Scala
Scala Traits

Este tutorial discutirá los rasgos sellados con ejemplos de ejecución en Scala.
Rasgos sellados en Scala
Los rasgos en Scala son similares a las interfaces de Java y se utilizan para compartir datos entre clases. Podemos instanciar la clase, pero los rasgos no.
En Scala, los rasgos se pueden marcar como sellados, de forma similar a las clases, para restringir la herencia. Los rasgos sellados y todos los subtipos deben declararse en el mismo archivo para garantizar que se conocen todos los subtipos.
Para definir un rasgo, usamos la palabra clave trait
, como:
trait Runnable
De manera similar, para crear rasgos sellados, usamos la clase sellada
, como:
sealed trait Runnable
Puntos clave:
- Un rasgo sellado solo puede extenderse en el mismo archivo.
- El compilador conoce fácilmente todos los subtipos posibles.
- Se recomienda utilizar caracteres sellados solo si el número de posibles subtipos es finito y conocido de antemano.
Crear un rasgo sellado en Scala
Entendamos creando un rasgo sellado en Scala.
import scala.collection.mutable.ArrayBuffer
sealed trait Color {
val name: String
}
class Black(val name: String) extends Color
class Red(val name: String) extends Color
object MyClass {
def main(args: Array[String]) {
val black = new Black("Black")
val red = new Red("Red")
val animals = ArrayBuffer.empty[Color]
animals.append(black)
animals.append(red)
animals.foreach(color => println("Color Name: "+color.name))
}
}
Producción :
Color Name: Black
Color Name: Red
¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete