Classes et objets
Définissez des classes avec des propriétés et des méthodes, utilisez des constructeurs, comprenez l’héritage et les interfaces, puis écrivez du code orienté objet idiomatique en Kotlin.
Classes et objets est une leçon Android Academy gratuite sur CoddyKit. Ceci est la leçon 2 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 Android Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Android Academy comprend 4 leçons au total.
Qu’est-ce qu’une classe ?
Une classe est un modèle servant à créer des objets. Elle regroupe des données associées (propriétés) et des comportements (fonctions).
class Dog— définit le modèleval myDog = Dog()— crée une instance (objet)
Exemple : une classe User qui contient un nom, un âge et une adresse e-mail.
Définir une classe
Les classes Kotlin disposent d’une syntaxe concise pour leur constructeur primaire :
class User(val name: String, var age: Int) {
fun greet(): String {
return "Hi, I'm $name and I'm $age years old."
}
}
fun main() {
val user = User("Alice", 28)
println(user.name) // Alice
println(user.age) // 28
user.age = 29 // var can be changed
println(user.greet())
}Classes de données
Une classe de données est idéale pour contenir des données. Ajoutez le mot-clé data et Kotlin génère automatiquement :
equals()/hashCode()— comparer par valeurtoString()— sortie lisible pour les humainscopy()— créer une copie modifiée
Exemple de classe de données
Les classes de données sont particulièrement utiles pour représenter des objets du modèle :
data class Product(val id: Int, val name: String, val price: Double)
fun main() {
val p1 = Product(1, "Laptop", 999.99)
val p2 = p1.copy(price = 899.99) // new copy with changed price
println(p1) // Product(id=1, name=Laptop, price=999.99)
println(p2) // Product(id=1, name=Laptop, price=899.99)
println(p1 == p2) // false (different price)
}Objets compagnons
Un objet compagnon contient des membres appartenant à la classe elle-même, et non à une instance — comme static en Java.
Accédez-y via le nom de la classe : User.create()
Exemple d’objet compagnon
Utilisez les objets compagnons pour les méthodes de fabrique et les constantes :
class Counter {
var count = 0
fun increment() { count++ }
companion object {
const val MAX = 100
fun create(): Counter = Counter()
}
}
fun main() {
val c = Counter.create()
c.increment()
c.increment()
println(c.count) // 2
println(Counter.MAX) // 100
}Héritage
Les classes Kotlin sont final par défaut (elles ne peuvent pas être étendues). Marquez une classe comme open pour autoriser l’héritage.
open class Animal— peut être étendueclass Dog : Animal()— étend Animaloverride fun sound()— redéfinit une fonction parente
Exemple d’héritage
Construisez une hiérarchie de classes simple :
open class Shape {
open fun area(): Double = 0.0
}
class Circle(val radius: Double) : Shape() {
override fun area(): Double = 3.14159 * radius * radius
}
class Rectangle(val w: Double, val h: Double) : Shape() {
override fun area(): Double = w * h
}
fun main() {
val shapes: List<Shape> = listOf(
Circle(5.0),
Rectangle(4.0, 3.0)
)
for (s in shapes) println("Area: ${s.area()}")
}Déclarations d’objets
Une déclaration object crée un singleton — une classe possédant exactement une instance, créée au premier accès.
Utilisez-la pour des utilitaires, des gestionnaires ou tout élément qui ne doit posséder qu’une seule instance.
Vérification rapide
Quelle fonctionnalité une data class Kotlin fournit-elle automatiquement ?
Récapitulatif : classes et objets
Vous avez appris les éléments fondamentaux de la programmation orientée objet en Kotlin :
- Classes avec constructeurs primaires et fonctions membres
data class— génère automatiquement equals, toString et copycompanion object— membres au niveau de la classe (statiques)- Classes
openetoverridepour l’héritage - Déclarations
objectpour les singletons
Vous êtes prêt à créer de véritables applications Android !
Questions Fréquemment Posées
La leçon « Classes et objets » est-elle gratuite ?
Oui — le texte complet de « Classes et objets » 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 Android Academy, passe à CoddyKit PRO. Le cours Android Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Classes et objets » ?
Définissez des classes avec des propriétés et des méthodes, utilisez des constructeurs, comprenez l’héritage et les interfaces, puis écrivez du code orienté objet idiomatique en Kotlin. Tu pratiques Android 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 Android Academy ?
Aucune expérience préalable n'est requise. Android 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 2 sur 4.
Combien de temps prend la leçon « Classes et objets » ?
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 Android Academy ?
Oui. Chaque leçon Android 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
- Sécurité vis-à-vis des valeurs nulles
- Classes et objets
- Classes de données et classes scellées
- Fonctions d’extension et fonctions d’ordre supérieur