0Pricing
Kotlin Academy · Leçon

Alias de types

Nommer des types complexes

Alias de types 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'un alias de type ?

Un alias de type donne un nouveau nom à un type existant. Il n'introduit aucun nouveau type : c'est uniquement un outil qui facilite la lecture et qui est résolu au moment de la compilation.

Vous en déclarez un avec le mot-clé typealias.

typealias Name = String

fun main() {
    val n: Name = "Alice"
    println(n)
}

Nommer les types de fonctions

Les types de fonctions peuvent être verbeux. Un alias rend les signatures bien plus faciles à lire.

typealias Handler = (String) -> Unit

fun register(h: Handler) {
    h("event fired")
}

fun main() {
    register { msg -> println(msg) }
}

Nommer les types génériques

Les types génériques profondément imbriqués comme Map<String, List<Int>> sont plus lisibles avec un alias.

typealias ScoreBoard = Map<String, List<Int>>

fun main() {
    val board: ScoreBoard = mapOf("team1" to listOf(10, 20))
    println(board)
}

Les alias sont transparents

Comme un alias désigne le même type, les valeurs sont entièrement interchangeables. Name et String peuvent être mélangés librement, sans conversion.

typealias Name = String

fun shout(s: String) = s.uppercase()

fun main() {
    val n: Name = "bob"
    println(shout(n))
}

Alias paramétrés

Un alias de type peut avoir ses propres paramètres de type et les transmettre au type sous-jacent.

typealias Pairs<T> = List<Pair<T, T>>

fun main() {
    val data: Pairs<Int> = listOf(1 to 2, 3 to 4)
    println(data)
}

Créer des alias pour des classes imbriquées

Un chemin long vers une classe imbriquée ou interne peut recevoir un alias court, ce qui réduit le bruit et l'encombrement liés aux importations.

class Outer {
    class Inner {
        fun hello() = "inner hello"
    }
}

typealias Shortcut = Outer.Inner

fun main() {
    println(Shortcut().hello())
}

Améliorer la lisibilité du domaine

Les alias communiquent une intention. typealias UserId = Int indique qu'un entier représente l'identité d'un utilisateur, même si le compilateur le traite toujours comme un Int.

typealias UserId = Int
typealias Email = String

fun notify(id: UserId, to: Email) {
    println("Notify user " + id + " at " + to)
}

fun main() {
    notify(42, "a@b.com")
}

Aucune sécurité de type supplémentaire

Attention : comme les alias sont transparents, le compilateur ne vous empêchera pas de transmettre un UserId là où un alias Int différent est attendu. Ils servent de documentation, pas de contrainte.

typealias UserId = Int
typealias OrderId = Int

fun process(order: OrderId) = println("order " + order)

fun main() {
    val user: UserId = 5
    process(user) // compiles fine — both are Int
}

Uniquement au niveau supérieur

Les alias de type doivent être déclarés au niveau supérieur d'un fichier. Vous ne pouvez pas les définir à l'intérieur de fonctions ou de classes. Placez-les près du code associé ou dans un fichier dédié.

typealias Callback = () -> Unit

fun run(cb: Callback) = cb()

fun main() {
    run { println("done") }
}

Quand utiliser des alias

Privilégiez les alias de type lorsque :

  • Un type de fonction ou un type générique est long et répété
  • Vous voulez des noms explicites pour les types primitifs
  • Vous avez besoin d'un nom court pour un type imbriqué

Lorsque vous avez besoin d'une véritable sécurité de type, utilisez plutôt une classe de valeur.

Alias ou classe de valeur

Un alias désigne le même type sous un nouveau nom : aucune sécurité. Une classe de valeur est un type distinct qui empêche de mélanger les valeurs. La prochaine leçon porte sur les classes de valeur.

Vérification rapide

Vérifiez votre compréhension des alias de type.

Récapitulatif

Vous avez découvert les alias de type :

  • Déclarés avec typealias au niveau supérieur
  • Simplement un nouveau nom, entièrement transparent
  • Très utiles pour les types de fonctions, les types génériques et la lisibilité
  • Ils n'ajoutent aucune sécurité de type

Ensuite : les classes de valeur en ligne pour une encapsulation sans surcoût.

Questions Fréquemment Posées

La leçon « Alias de types » est-elle gratuite ?

Oui — le texte complet de « Alias de types » 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 « Alias de types » ?

Nommer des types complexes 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 « Alias de types » ?

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

  1. Alias de types
  2. Classes de valeurs inline
  3. Cas d’utilisation
  4. Limitations
← Retour à Kotlin Academy