A Orientação a Objetos (OO) é um dos pilares fundamentais da programação em Kotlin, assim como em outras linguagens como Java, C# e Python. Abaixo, explico os principais conceitos de Orientação a Objetos em Kotlin, com exemplos práticos.
Uma classe em Kotlin é definida com a palavra-chave class
:
kotlin
Copiar código
class Pessoa(val nome: String, var idade: Int)
Aqui, Pessoa
é uma classe com dois atributos: nome
(imutável) e idade
(mutável). A palavra-chave val
define um atributo imutável, enquanto var
define um atributo mutável.
Depois de definir a classe, você pode criar instâncias dela, ou seja, objetos:
kotlin
Copiar código
val pessoa1 = Pessoa("João", 30)
val pessoa2 = Pessoa("Maria", 25)
Kotlin tem um construtor primário que pode ser diretamente incluído na declaração da classe. No exemplo acima, Pessoa
já possui um construtor que recebe os parâmetros nome
e idade
.
Você pode também adicionar construtores secundários para fornecer diferentes maneiras de instanciar objetos:
kotlin
Copiar código
class Pessoa(val nome: String, var idade: Int) {
constructor(nome: String) : this(nome, 0) // Construtor secundário
}
val pessoa3 = Pessoa("Carlos") // idade será 0
Você pode definir métodos dentro de uma classe, que são funções que operam sobre os dados dessa classe:
kotlin
Copiar código
class Pessoa(val nome: String, var idade: Int) {
fun cumprimentar() {
println("Olá, meu nome é $nome e tenho $idade anos.")
}
}
val pessoa = Pessoa("Ana", 28)
pessoa.cumprimentar() // Saída: Olá, meu nome é Ana e tenho 28 anos.
Kotlin suporta herança, mas por padrão, as classes não podem ser herdadas. Para permitir que uma classe seja herdada, você deve declará-la como open
: