Définir des énumérations
Ensembles de constantes nommées
Définir des énumérations est une leçon Kotlin Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Academy comprend 4 leçons au total.
Qu’est-ce qu’une énumération ?
Une classe d’énumération définit un ensemble fixe de constantes nommées. Utilisez-la lorsqu’une valeur ne peut être qu’une option parmi un petit groupe connu.
- Chaque constante est une instance du type d’énumération.
- Le compilateur garantit qu’aucune autre valeur n’est possible.
enum class Direction {
NORTH, SOUTH, EAST, WEST
}
fun main() {
val d = Direction.NORTH
println(d)
}Pourquoi ne pas utiliser simplement des chaînes ?
Les chaînes autorisent les fautes de frappe et les valeurs non valides. Une énumération rend les états non valides impossibles : le compilateur rejette toute valeur qui ne fait pas partie de l’ensemble déclaré.
enum class Status { ACTIVE, INACTIVE }
fun main() {
val s: Status = Status.ACTIVE
println("Current: $s")
}Déclarer les constantes
Les constantes sont placées entre les accolades et séparées par des virgules. Par convention, elles s’écrivent en UPPER_SNAKE_CASE.
enum class Size {
SMALL, MEDIUM, LARGE, EXTRA_LARGE
}
fun main() {
println(Size.EXTRA_LARGE)
}Chaque constante est un objet
Chaque constante d’énumération est une instance singleton du type d’énumération. Vous y faites toujours référence via le nom de l’énumération, par exemple Color.RED.
enum class Color { RED, GREEN, BLUE }
fun main() {
val c = Color.GREEN
println(c == Color.GREEN)
}Comparer les valeurs d’une énumération
Les constantes d’énumération peuvent être comparées avec ==. Comme chacune est un singleton, l’égalité et l’identité de référence coïncident.
enum class Light { RED, YELLOW, GREEN }
fun main() {
val signal = Light.RED
if (signal == Light.RED) println("Stop")
}Lire la propriété name
Chaque constante expose une propriété intégrée name : la chaîne correspondant exactement à sa déclaration.
enum class Planet { MERCURY, VENUS, EARTH }
fun main() {
val p = Planet.EARTH
println(p.name)
}valueOf à partir d’une chaîne
La fonction générée valueOf() convertit une chaîne correspondante en constante d’énumération. Une chaîne qui ne correspond à aucune constante lève une exception.
enum class Day { MON, TUE, WED }
fun main() {
val d = Day.valueOf("TUE")
println(d)
}Utiliser des énumérations comme paramètres
Les énumérations sont d’excellents paramètres de fonction : les appelants ne peuvent transmettre qu’une des constantes valides.
enum class Level { LOW, HIGH }
fun setVolume(level: Level) {
println("Volume set to $level")
}
fun main() {
setVolume(Level.HIGH)
}Les énumérations améliorent la lisibilité
Un code qui contient Direction.NORTH s’explique de lui-même. Par rapport à des nombres magiques comme 0 ou 1, l’intention est évidente.
enum class Gear { PARK, DRIVE, REVERSE }
fun main() {
val current = Gear.DRIVE
println("Gear is $current")
}Un exemple réaliste
Modéliser un petit ensemble de couleurs de cartes est une utilisation parfaite d’une énumération.
enum class Suit { HEARTS, DIAMONDS, CLUBS, SPADES }
fun main() {
for (suit in Suit.values()) {
println(suit)
}
}Énumérations à constante unique
Même une seule constante est valide ; cette forme sert souvent à modéliser une valeur dont l’unicité est garantie (un singleton de fortune).
enum class AppMode { PRODUCTION }
fun main() {
println(AppMode.PRODUCTION)
}Vérification rapide
Vérifiez votre compréhension de la définition des énumérations.
Récapitulatif
Vous avez appris à définir des énumérations :
enum classdéclare un ensemble fixe de constantes nommées.- Chaque constante est une instance singleton accessible via le nom de l’énumération.
nameetvalueOf()assurent la conversion entre constantes et chaînes.- Les énumérations empêchent les valeurs non valides au moment de la compilation.
enum class Direction { NORTH, SOUTH, EAST, WEST }
fun main() {
println(Direction.valueOf("EAST").name)
}Apprends Kotlin avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 51
- Leçons
- 203
Questions Fréquemment Posées
La leçon « Définir des énumérations » est-elle gratuite ?
Oui — le texte complet de « Définir des énumérations » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Academy, passe à CoddyKit PRO. Le cours Kotlin Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Définir des énumérations » ?
Ensembles de constantes nommées Tu pratiques Kotlin Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Kotlin Academy ?
Aucune expérience préalable n'est requise. Kotlin Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Définir des énumérations » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Kotlin Academy ?
Oui. Chaque leçon Kotlin Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Définir des énumérations
- Propriétés et méthodes des énumérations
- Énumérations avec when
- Valeurs et ordinaux des énumérations