Realizando a sobrecarga com Named Parameter do Kotlin
3 min3 minutos de leitura
3 min3 minutos de leitura
Autor(a)
Alex Felipe
Alex é instrutor e desenvolvedor e possui experiência em Java, Kotlin, Android. Atualmente cria conteúdo no canal https://www.youtube.com/@AlexFelipeDev.
Inscreva-se em nossa Newsletter
Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.
Publicado:
Última atualização:
No primeiro curso de Kotlin da Alura, vimos que o Kotlin nos permite realizar a sobrecarga de construtores de uma maneira simples e poderosa. Um exemplo de implementação seria para a classe Produto:
Repare que criamos diversos produtos com características peculiares:
Um produto com os valores padrões;
Uma TV sem descrição ou quantidade;
Uma camiseta de cor preta mas sem quantidade;
Um refrigerante sabor guaraná e com 10 quantidades
Até o momento nenhuma novidade, mas suponhamos que é necessário criar um produto que tenha apenas um nome e quantidade, com a nossa amostra inicial, teríamos o seguinte resultado:
valchocolate= Produto("Chocolate", "", 50)
Repare que o nosso produto não tem nenhuma descrição, mas, ao mesmo tempo, não somos capazes de criar 50 chocolates da seguinte maneira:
valchocolate= Produto("Chocolate", 50)
Pois, como segundo parâmetro, precisamos enviar uma descrição! E agora?
Utilizando o named parameter para sobrecarga
No Kotlin, além da abordagem de mandar os parâmetros de acordo com a ordem na qual foram declarados, somos capazes de identificar qual parâmetro enviamos por meio de uma label, por exemplo, queremos enviar apenas o nome e a quantidade, logo, podemos indicar da seguinte maneira:
Desta maneira, conseguimos enviar os parâmetros com a ordem que desejarmos, portanto, podemos até mesmo declarar esse mesmo produto da seguinte maneira:
valchocolate= Produto(quantidade = 50, nome = "Chocolate")
Esse recurso é conhecido como Named Parameter, como podemos ver, a ideia dele é permitir uma melhor legibilidade no envio de parâmetros, seja via construtor ou funções, e também, possibilitar uma sobrecarga de construtor bem poderosa que nos permite enviar parâmetros sem se preocupar com a ordem.
Para saber mais
No exemplo inicial, utilizamos valores padrões apenas nas properties do construtor primário, porém, esse recurso é disponível para parâmetros de funções também!
Isso significa que podemos criar funções com parâmetro opcionais! Por exemplo:
Chamando a função desta maneira, temos o seguinte resultado Total da soma: 37. Porém, se enviarmos o parâmetro de mensagem, podemos modificar a saída padrão:
Com essa chamada a saída desta função fica da seguinte maneira "Resultado: 37”. É válido lembrar que essa foi uma amostra simples, porém, abre portas para diversas possibilidades que deixarei a sua imaginação tomar conta ;)
Conclusão
Neste post vimos que além de utilizarmos valores padrões nos parâmetros, somos capazes de identificar o valor que desejamos enviar por meio do Named Parameter que também possibilita mais opções de sobrecarga, como por exemplo, enviando os parâmetro na ordem que desejar.
E que tal aprender mais sobre Kotlin? Na Alura temos cursos Desenvolvimento mobile com Kotlin, onde você vai aprender desde o princípio da linguagem, como declarar classes, variáveis e funções, como também, assunto mais avançados como Higher-Order Functions, Delegated Properties e muito mais!