Middle
Quels objets connaissez-vous en Kotlin et comment sont-ils compilés?
sobes.tech IA
Réponse de l'IA
- Classes de données : génèrent automatiquement
equals(),hashCode(),toString(),copy()et d'autres méthodes utiles. Elles sont compilées en classes ordinaires avec des méthodes redéfinies. - Enums : représentent un ensemble fixe de constantes. Ils sont compilés en classes avec des champs statiques pour chaque élément.
- Classes scellées : permettent de définir une hiérarchie limitée de classes. Elles sont compilées en classes ordinaires avec un constructeur privé et des instances statiques pour chaque sous-classe dans le même fichier.
- Objets : objets Singleton. Ils sont compilés en une classe avec un champ d'instance statique et un initialiseur statique.
Exemple de Object en Kotlin :
object MySingleton {
fun doSomething() {
// Logique
}
}
Compilation en Java :
public final class MySingleton {
public static final MySingleton INSTANCE;
private MySingleton() {
}
public final void doSomething() {
// Logique
}
static {
INSTANCE = new MySingleton();
}
}