Junior
Comment l'encapsulation est-elle réalisée en Kotlin?
sobes.tech IA
Réponse de l'IA
L'encapsulation en Kotlin est réalisée à l'aide de modificateurs d'accès et de propriétés.
Modificateurs d'accès :
public: accessible de n'importe où (par défaut).internal: accessible dans le même module.protected: accessible dans sa classe et ses sous-classes.private: accessible uniquement à l'intérieur de la classe où il est déclaré.
Les propriétés sont utilisées pour gérer l'accès aux données de la classe. Elles peuvent avoir un getter et un setter, que l'on peut redéfinir pour ajouter de la logique lors de la lecture ou de l'écriture de la valeur.
class Person {
// Champ privé, accessible uniquement à l'intérieur de la classe
private var _name: String = ""
// Propriété avec getter public et setter privé
var name: String
get() = _name
private set(value) {
_name = value
}
// Fonction publique pour définir le nom, contrôlant l'entrée
fun setName(newName: String) {
if (newName.isNotBlank()) {
name = newName
} else {
println("Le nom ne peut pas être vide")
}
}
}
fun main() {
val person = Person()
person.setName("Alice") // Utilisation de la méthode contrôlée pour changer
println(person.name) // Lecture de la valeur via le getter
// person.name = "Bob" // Erreur de compilation, le setter est privé
}