Junior
Como é que a encapsulação é realizada em Kotlin?
sobes.tech IA
Resposta da IA
A encapsulação em Kotlin é alcançada através de modificadores de acesso e propriedades.
Modificadores de acesso:
public: acessível de qualquer lugar (padrão).internal: acessível dentro de um mesmo módulo.protected: acessível na sua classe e nas subclasses.private: acessível apenas dentro da classe onde é declarado.
As propriedades são usadas para gerenciar o acesso aos dados da classe. Elas podem ter um getter e um setter, que podem ser sobrescritos para adicionar lógica ao ler ou escrever o valor.
class Person {
// Campo privado, acessível apenas dentro da classe
private var _name: String = ""
// Propriedade com getter público e setter privado
var name: String
get() = _name
private set(value) {
_name = value
}
// Função pública para definir o nome, controlando a entrada
fun setName(newName: String) {
if (newName.isNotBlank()) {
name = newName
} else {
println("O nome não pode estar em branco")
}
}
}
fun main() {
val person = Person()
person.setName("Alice") // Usamos o método controlado para alterar
println(person.name) // Lê o valor através do getter
// person.name = "Bob" // Erro de compilação, o setter é privado
}