Déclaration de classes de données
Des classes de modèle concises
Déclaration de classes de données 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.
Des classes pour contenir des données
De nombreuses classes servent uniquement à regrouper quelques valeurs : un utilisateur, un point, un résultat.
Kotlin vous fournit la classe de données, une manière concise de déclarer ce type de classe de modèle avec de nombreuses fonctionnalités intégrées.
Déclarer une classe de données
Ajoutez le mot-clé data avant class et énumérez les propriétés dans le constructeur.
Cette seule ligne vous fournit un modèle complet.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Alice", 30)
println(u.name)
println(u.age)
}toString généré automatiquement
Une classe de données génère automatiquement un toString() lisible. L’affichage de l’objet montre le nom de sa classe et les valeurs de ses propriétés.
Comparez cela à une classe ordinaire, qui afficherait une empreinte énigmatique.
data class User(val name: String, val age: Int)
fun main() {
val u = User("Bob", 25)
println(u)
}Les propriétés sont obligatoires
Une classe de données doit déclarer au moins une propriété dans son constructeur primaire.
Chaque paramètre doit être val ou var afin de devenir une propriété utilisable par les fonctions générées.
data class Point(val x: Int, val y: Int)
fun main() {
val p = Point(3, 4)
println(p)
}Propriétés val et var
Utilisez val pour les propriétés en lecture seule et var pour les propriétés modifiables.
Les classes de données immuables sont généralement préférables, car elles sont plus faciles à comprendre et à gérer.
data class Counter(var count: Int)
fun main() {
val c = Counter(0)
c.count = 5
println(c)
}Valeurs de paramètres par défaut
Comme tout constructeur, une classe de données peut définir des valeurs par défaut.
Les appelants peuvent ainsi omettre les paramètres qu’ils n’ont pas besoin de définir.
data class User(val name: String, val active: Boolean = true)
fun main() {
val u = User("Mia")
println(u)
}Arguments nommés
Associez les classes de données à des arguments nommés pour obtenir une construction claire et explicite.
C’est particulièrement utile lorsque plusieurs propriétés ont le même type.
data class Rect(val width: Int, val height: Int)
fun main() {
val r = Rect(width = 10, height = 5)
println(r)
}Ajouter des méthodes
Une classe de données peut toujours posséder un corps contenant ses propres fonctions et propriétés calculées.
Les fonctions générées coexistent avec tout ce que vous ajoutez.
data class Circle(val radius: Double) {
fun area(): Double = 3.14159 * radius * radius
}
fun main() {
val c = Circle(2.0)
println(c.area())
}Propriétés en dehors du constructeur
Seules les propriétés du constructeur primaire sont utilisées par les fonctions générées.
Une propriété déclarée dans le corps fait partie de l’objet, mais est ignorée par toString, equals et les fonctions similaires.
data class User(val name: String) {
var nickname: String = ""
}
fun main() {
val u = User("Alex")
u.nickname = "Al"
println(u) // nickname not shown
println(u.nickname)
}Quand utiliser les classes de données
Choisissez une classe de données lorsqu’un objet sert principalement à transporter des valeurs :
- DTO et modèles d’API
- Coordonnées, intervalles et résultats
- Ensembles de paramètres de configuration
Évitez-les pour les classes fondées sur un comportement complexe ou sur l’héritage.
Assembler le tout
Une classe de données est une déclaration de modèle compacte :
- Ajoutez
dataau début et énumérez les propriétés - Obtenez gratuitement
toString,equals,hashCodeetcopy - Les valeurs par défaut, les arguments nommés et les méthodes supplémentaires sont pris en charge
data class Book(val title: String, val pages: Int = 0)
fun main() {
val b = Book(title = "Kotlin", pages = 300)
println(b)
}Vérification rapide
Vérifiez votre compréhension de la déclaration des classes de données.
Récapitulatif
Vous avez appris à déclarer des classes de données :
- Le mot-clé
datagénère les fonctions standard - Les propriétés du constructeur déterminent le comportement généré
- Les valeurs par défaut et les arguments nommés les rendent flexibles
Vous étudierez ensuite en détail les fonctions générées copy et equals.
Questions Fréquemment Posées
La leçon « Déclaration de classes de données » est-elle gratuite ?
Oui — le texte complet de « Déclaration de classes de données » 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éclaration de classes de données » ?
Des classes de modèle concises 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éclaration de classes de données » ?
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éclaration de classes de données
- copy et equals
- Déclarations par déstructuration
- Classes de données dans les collections