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
typealiasau 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
- Alias de types
- Classes de valeurs inline
- Cas d’utilisation
- Limitations