Init

Observação: O arquivo utilizado neste conteúdo que fala sobre o método Init é o 3-init.kt.

Vamos nessa?

O que é o método Init?

No Kotlin, nós temos um método padrão que é responsável por executar operações sempre quando uma classe é criada.

Observe:

class Animal(var especie: String){
init {
//O bloco Init significa inicialização, é executado sempre quando a classe for criada
println("Init 1: Classe Animal Criada")
}
}

...

val animal = Animal("Cachorro")//Receberemos um println (pois init foi chamado)

Podemos ter mais um método init declarado dentro de uma mesma classe, observe:

class Animal(var especie: String){
init {
//O bloco Init significa inicialização, é executado sempre quando a classe for criada
println("Init 1: Classe Animal Criada")
}
init {
//Podemos ter varios blocos de init, ele executa todos e na sequencia
println("Init 2")
}
}

No caso do comando acima, quando instanciamos a classe Animal, recebemos duas mensagens no console, a primeira diz:"Init 1: Classe Animal Criada" e depois o "Init 2", em sequência.

A ideia principal do bloco init é fazer verificações dos valores atribuídos, observe:

class Animal(var especie: String){

var fala: String = ""

init{
if(especie == "cachorro"){
fala = "Au Au!"
}else if(especie == "Gato"){
fala = "Miau Miau!"
}
}

}

No código acima, dependendo da espécie de animal indicada, ele salva no atributo 'fala' uma string diferente.

Conclusão

Neste conteúdo você aprendeu um pouco mais sobre o método Init, e como ele pode ser útil dentro das suas classes.

Até o próximo conteúdo 😃