Junior
¿Cómo se pueden implementar varios constructores en una sola clase en Kotlin?
sobes.tech AI
Respuesta de la IA
En Kotlin, una clase puede tener un constructor primario y uno o varios constructores secundarios.
-
Constructor primario: Se define en la cabecera de la clase. Puede tener parámetros.
class MiClase(private val algunaPropiedad: String) { // Constructor primario con parámetro // Cuerpo de la clase } -
Constructores secundarios: Se declaran con la palabra clave
constructor. Si la clase tiene un constructor primario, cada constructor secundario debe delegar directa o indirectamente en él usando la palabra clavethis().class OtraClase(private val valorPrimario: Int) { // Constructor primario constructor(otroValor: String) : this(otroValor.length) { // Constructor secundario que delega en el primario // Lógica del constructor secundario println("Creado con cadena: $otroValor") } constructor(valor1: Int, valor2: Int) : this(valor1 + valor2) { // Otro constructor secundario // Lógica println("Creado con dos ints: $valor1, $valor2") } }
Si no hay constructor primario, los constructores secundarios no están obligados a delegar en otros constructores de la misma clase (pero pueden).
class ClaseSinPrimario {
constructor(valor: Int) {
println("Creado con int: $valor")
}
constructor(valor: String) {
println("Creado con cadena: $valor")
}
}