Declaração de Propriedades

Vamos ver um exemplo simples de propriedades de declaração, é basicamente assim:

val NomeDaVariável:TipoDaVariável = valor

para propriedades imutáveis, e

val NomeDaVariável:TipoDaVariável = valor

para propriedades mutáveis. A parte (= valor) não é obrigatório, contudo, se o valor da variável estiver dentro do bloco init { }.

Uma coisa sobre mutabilidade: Imutabilidade significa que a variável val assume o valor que foi atribuída e não pode ser modificada posteriormente, enquanto mutável significa que a variável var pode ser modificada livremente.

Variáveis imutáveis trazem vantagens na estabilidade do programa, é preferível sempre que der escolher variáveis imutáveis ao invés das mutáveis.

Inicialização de Classe

Um bloco init { } dentro de um corpo de uma classe pode conter códigos que funcionaram assim que a classe for inicializada.

Como se diz, eu devo inicializar ou instanciar a classe que será utilizada. Isso inclui preparar a instância e configurar suas propriedades.

Você pode ter vários blocos de init { } dentro de uma classe. Nesse caso funciona sequencialmente, conforme os códigos vão aparecendo eles vão sendo executados.

Os blocos init { } são opcionais, e pode haver casos que não há blocos init.

Se você configurar as propriedades dentro de um bloco init { }, não será necessário escrever (= [value]) em uma propriedade de declaração.

Se você especificar o valor da propriedade dentro da declaração da propriedade e depois mudar o valor da propriedade dentro do init { }, o valor da declaração da propriedade é executando antes de iniciar o init { }. Depois, o valor dentro da propriedade init { } muda novamente o valor.

Invoice no Kotlin

Vamos trabalhar com a classe Invoice. Para simplificar, nossa classe Invoice terá as seguintes propriedades: as informações no comprador serão nome e sobrenome, a data, o nome e quantidade do produto, e o preço por item.

Vamos criar a classe Invoice.

Veja que para todos os valores utilizei o val, ou seja, as variáveis são imutáveis. Isso é útil porque as informações não poderão ser modificadas, porque descreve as características e o estado do Invoice.

Fonte livro: Learn Kotlin for Android Development: The Next Generation Language for Modern Android Apps Programming

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário

*

Seja o primeiro a comentar!