1

Kotlin: Criação de uma classe e suas propriedades

#Kotlin
Wellington Santos
Wellington Santos

Neste artigo vou tentar explicar como criar uma classe básica e suas propriedades.


Em orientação a objetos, uma classe é uma descrição que abstrai um conjunto de objetos com características similares. Mais formalmente, é um conceito que encapsula abstrações de dados e procedimentos que descrevem o conteúdo e o comportamento de entidades do mundo real, representadas por objetos. (Wikipedia)


Classe

A declaração de uma classe em Kotlin é feita usando a palavra chave class e seu corpo é delimitados por chaves.


class Pessoa { /* . . . */ }


Na sua forma mais básica, uma classe precisa conter propriedades, também conhecidas como atributos, estados, ou ainda como variáveis da classe, e comportamentos, chamados métodos ou funções, em orientação a objeto, mesmo que sejam declarados com palavras chave fun ou function na linguagem, ainda são chamados preferencialmente de métodos.

Uma classe também tem os construtores, que de certa forma são um tipo de método usado para criar ou construir os objeto dessa classe.


Mas ainda assim, em Kotlin você pode criar uma classe sem nada disso...

class Vacuo

sem propriedades, sem métodos, nem construtores, ou mesmo corpo, só o mais completo e absoluto vazio. 😆


Propriedades

Para definir uma propriedade para uma classe você pode declará-la no corpo da classe, ou direto no construtor, essa segunda forma eu mostro mais pra frente, em um outro artigo, na verdade existe ainda mais um modo de adicionar um propriedade a uma classe, mas isso eu deixo também para outro artigo.


A declaração de uma propriedade é feita usando a palavra chave var, ou val, a diferença entre as duas é que val só receber a atribuição de valor uma única vez, (o que equivale a palavra chave "final" de algumas linguagens).


Seguinte a palavra chave var (ou val) vem o nome da propriedade, seguido por ":" e o tipo da propriedade, e pode ser inicializado com uma atribuição de valor, se um valor é atribuído na declaração, o tipo da propriedade pode ser omitido.


Class Pessoa {
	var nome: String = "João"
	var sobreNome = "da Silva"
	val cpf: String = "123.123.123-12"
	val dataNascimento = "05/12/1982"
}


Cada propriedade é pública por padrão, isso significa que qualquer código em que uma classe for instanciada terá acesso a essas informações "diretamente", então para usá-las basta chamar pelo nome.


var joao = Pessoa()
println(joao.nome)        // isto imprimirá João
joao.nome = "Paulo"       // João agora se chama Paulo
println(joao.nome)        // isto imprimirá Paulo


Cada propriedade tem seu modificador de acesso, o que afeta a visibilidade desta propriedade no código da aplicação.

E como dito antes, por padrão, se você não declarar uma propriedade com um modificador, o compilador vai dar um modificador de acesso público para esta propriedade.

Os modificadores de acesso disponíveis em Kotlin são public, internal, protected e private e devem ser colocados antes da palavra chave var (ou val).


Class Pessoa {
	public var nome: String = "João"
	internal var sobreNome = "da Silva"
	protected val cpf: String = "123.123.123-12"
	private val dataNascimento = "05/12/1982"
}


As propriedades public podem ser acessadas de qualquer lugar do código, ou seja, desde que tenha uma objeto desta classe, você pode acessar a propriedade "diretamente".


As propriedades internal podem ser acessada diretamente, através da instancia de objeto, desde que o código "cliente" esteja dentro do mesmo pacote da classe.


protected só podem ser acessadas pelas classes que herdam as propriedades e comportamentos dessa classe tenham acesso a essa propriedades diretamente, no caso de estarem acessando um objeto da classe mãe , ou como parte de si mesma no caso de acessarem suas próprias propriedades já que as herdam da classe mãe.


E por fim private, estas propriedades podem ser acessadas apenas pela própria classe, internamente, nem mesmo as classes filhas tem acesso direto.


var joao = Pessoa()
joao.nome = "Paulo"                // OK! João agora é Paulo
joao.sobreNome = "da Cunha"        // OK! o pacote é o mesmo
joao.cpf = "XXX.XXX.XXX.XX"        // Erro! essa é Protected
joao.dataNascimento = "29/06/2050" // Erro!!! Private!!!


Bem este artigo já ficou muito longo, vou ficando por aqui, futuramente eu posso criar artigos sobre, métodos, construtores.


Dúvidas e comentários são bem vindos. 


Para mais informações sobre criação de classes e suas propriedades podem consultar a documentação,

https://kotlinlang.org/docs/classes.html


Ou perguntem no fórum, no discord, ou ainda perguntem para o Isaias Bueno que já terminou todo o Bootcamp e manja muito dos paranauês. 😆

1
13

Comentários (1)

0
Isaias Bueno

Isaias Bueno

30/06/2021 10:08

Parabéns! Muito boa sua explicação e exemplos! Estamos todos aprendendo rsrs, muito obrigado!

Tentando aprender um pouco mais a cada dia

Brasil