O que é class em Kotlin?
A palavra-chave class em Kotlin é usada para definir classes, que são a base da programação orientada a objetos. Uma classe funciona como um molde para criar objetos, agrupando propriedades e comportamentos relacionados.
Se você vem do Java, vai adorar a quantidade de código que Kotlin elimina. O que levaria dezenas de linhas em Java, em Kotlin fica resolvido em poucas.
Sintaxe básica
class Pessoa(val nome: String, var idade: Int)
fun main() {
val pessoa = Pessoa("Rafael", 28)
println("${pessoa.nome} tem ${pessoa.idade} anos.")
pessoa.idade = 29 // idade é var, pode alterar
}
O construtor primário já vai direto na declaração da classe, entre parênteses. As propriedades val e var são declaradas ali mesmo — sem precisar de campos separados, getters ou setters.
Métodos e inicialização
Você pode adicionar funções dentro da classe e usar o bloco init para lógica de inicialização:
class ContaBancaria(val titular: String, var saldo: Double) {
init {
require(saldo >= 0) { "Saldo inicial não pode ser negativo" }
}
fun depositar(valor: Double) {
saldo += valor
println("Depósito de R$ $valor realizado. Saldo: R$ $saldo")
}
fun sacar(valor: Double) {
if (valor <= saldo) {
saldo -= valor
println("Saque de R$ $valor realizado. Saldo: R$ $saldo")
} else {
println("Saldo insuficiente!")
}
}
}
Construtores secundários
Além do construtor primário, dá pra ter construtores secundários usando constructor:
class Produto(val nome: String, val preco: Double) {
constructor(nome: String) : this(nome, 0.0)
}
Herança
Por padrão, classes em Kotlin são final — não podem ser herdadas. Para permitir herança, é preciso usar o modificador open:
open class Animal(val nome: String)
class Cachorro(nome: String, val raca: String) : Animal(nome)
Classes em Kotlin são diretas ao ponto. Menos boilerplate, mais produtividade.