Sobes.tech
Junior — Middle

¿Qué es una clase sellada y cuáles son sus principales ventajas y características?

sobes.tech AI

Respuesta de la IA

La clase sellada (sealed class) es un tipo especial de clase en Kotlin (frecuentemente utilizada en desarrollo de Android), que restringe la jerarquía de herencia. La idea principal es que todos los subtipos de una clase sellada deben ser declarados en el mismo archivo que la clase sellada.

Ventajas y características:

  • Permite que el compilador conozca el conjunto completo de subtipos, lo que mejora la seguridad y la conveniencia al trabajar con expresiones when — el compilador verificará que todas las opciones estén cubiertas.
  • Facilita la modelación de jerarquías limitadas, por ejemplo, estados o eventos.
  • Prohíbe la creación de nuevos subtipos fuera del archivo, lo que aumenta el control sobre la arquitectura.

Ejemplo:

sealed class Result {
    data class Success(val data: String) : Result()
    data class Error(val error: Throwable) : Result()
}

fun handleResult(result: Result) {
    when(result) {
        is Result.Success -> println("Data: ${result.data}")
        is Result.Error -> println("Error: ${result.error.message}")
    }
}