Junior
¿Cómo se realiza la encapsulación en Kotlin?
sobes.tech AI
Respuesta de la IA
La encapsulación en Kotlin se logra mediante modificadores de acceso y propiedades.
Modificadores de acceso:
public: accesible desde cualquier lugar (por defecto).internal: accesible dentro de un mismo módulo.protected: accesible en su clase y en sus subclases.private: accesible solo dentro de la clase donde se declara.
Las propiedades se utilizan para gestionar el acceso a los datos de la clase. Pueden tener un getter y un setter, que se pueden sobrescribir para agregar lógica al leer o escribir el valor.
class Person {
// Campo privado, accesible solo dentro de la clase
private var _name: String = ""
// Propiedad con getter público y setter privado
var name: String
get() = _name
private set(value) {
_name = value
}
// Función pública para establecer el nombre, controlando la entrada
fun setName(newName: String) {
if (newName.isNotBlank()) {
name = newName
} else {
println("El nombre no puede estar en blanco")
}
}
}
fun main() {
val person = Person()
person.setName("Alice") // Usamos el método controlado para cambiar
println(person.name) // Leemos el valor a través del getter
// person.name = "Bob" // Error de compilación, el setter es privado
}