Sobes.tech
Junior

¿Qué es el bloque 'init' y cómo se usa en el lenguaje Kotlin?

sobes.tech AI

Respuesta de la IA

El bloque init es un inicializador de clase en Kotlin. Se ejecuta al crear una instancia de la clase, después de llamar al constructor (tanto primario como secundario) y antes de declarar las propiedades de la clase. Se utiliza para ejecutar código necesario para la correcta inicialización del objeto.

Características:

  • Puede haber varios bloques init en una clase.
  • Los bloques init se ejecutan en el orden en que se declaran en el cuerpo de la clase.
  • Generalmente se usan para verificar los parámetros de entrada del constructor, realizar cálculos o configurar el estado inicial del objeto.

Ejemplo:

class Person(name: String) {
    val formattedName: String

    init {
        // Verificación de datos de entrada
        require(name.isNotBlank()) { "El nombre no puede estar en blanco" }
        // Formateo de datos para uso interno
        formattedName = name.trim().toUpperCase() 
    }

    init {
        // Lógica adicional de inicialización, si es necesaria
        println("Inicializando instancia de Person con nombre: $formattedName")
    }
}