Sobes.tech
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();
    }
}