Kotlin: Como criar vários construtores
Este artigo objetiva demonstrar como criar vários construtores em uma classe Kotlin.
Em Kotlin, é possível criar o construtor diretamente na definição da classe, mas vale ressaltar que isso acontece indiretamente, pois assim que uma classe é definida com parâmetros, ela já passa a ter um construtor, o qual será denominado de “construtor principal”. O construtor é declarado de forma implícita, pois está presente sem que haja a necessidade de inserir a palavra construtor, tratando-se, portanto, de um padrão da linguagem Kotlin e uma de suas facilidades, que a tornam uma ótima linguagem.
Neste caso, foi utilizado uma classe “Pessoa” como exemplo.
Pronto! Já está criado a classe e o construtor. Como o construtor é declarado implicitamente em toda a classe Kotlin, já é possível utilizá-lo inicializando uma classe e transmitindo os dados requeridos.
Desta forma, o código já vai funcionar e uma pessoa foi instanciada. A palavra construtor pode ser incluída a na declaração da classe, o que não altera o seu funcionamento.
Inicialização da classe Pessoa.
Com a palavra “construtor” escrita ou não na classe, o construtor principal existe e a classe já pode ser inicializada com ele.
“Ah, mas e se eu precisar de mais construtores? Como faço?”
Em Kotlin, assim como em outras linguagens, é possível ter múltiplos construtores. Entretanto, o construtor padrão sempre deve ser chamado através de outro construtor ou diretamente.
Agora o atributo “altura” será incluído na classe pessoa, mas ele não fará parte do construtor padrão. Logo abaixo, será criado o construtor secundário, agora com todos os parâmetros.
Note que o construtor secundário precisa chamar o construtor principal através da palavra “this” e passar os parâmetros requeridos pelo construtor principal (nome, sobrenome, idade). E depois indicar que o atributo “altura” recebe a altura passada por parâmetro. No construtor principal, não é necessário fazer essa atribuição dos parâmetros, pois isso já é padrão da linguagem Kotlin para o construtor principal. Agora ao tentar criar uma Pessoa, os dois construtores estão disponíveis para serem utilizados. Veja na imagem abaixo.
Para utilizar o construtor secundário, basta passar o parâmetro “altura” junto com nome, sobrenome e idade.
Agora será inserido mais um atributo à classe Pessoa — o peso –, e um construtor será criado com os atributos existentes e mais o atributo peso.
A inicialização continua funcionando da mesma maneira, além dos parâmetros no “this” que chamam o construtor principal.
É importante entender que no terceiro construtor, foi feita a chamada ao construtor principal. Obrigatoriamente o construtor principal sempre deve ser chamado, seja de forma direta ou através de outro construtor, como pode ser visualizado abaixo:
Note que o terceiro construtor foi alterado, sendo incluído a altura com parâmetro no “this”, ação que modifica a sua chamada para o construtor secundário, que requer quatro parâmetros, e não a chamada direta para o construtor principal.
Agora o construtor secundário é chamado, passando os quatro parâmetros requeridos por ele, e ele chama o construtor principal passando os três parâmetros que ele contém.
“E se precisar utilizar um construtor apenas com nome e sobrenome?”
Caso isso aconteça, será necessário alterar o construtor principal para receber só os dois parâmetros e criar um outro construtor que receba três parâmetros para não quebrar o código, ou alterar a chamada ao construtor principal no construtor secundário. Abaixo foi escolhido por criar um novo construtor.
Agora o construtor secundário não chama mais o construtor principal e sim o quarto construtor. Dessa forma, são quatro construtores para a classe Pessoa.
Este é um pequeno exemplo de como criar vários construtores com a linguagem Kotlin. Mas espero que tenham gostado do artigo e que ele ajude quem esta começando ou pretende começar a desenvolver aplicativos Android com a linguagem.
Um abraço e até a próxima!
Referências para esta publicação: