Différence entre class et object en Kotlin : quand utiliser le mot-clé object ?
Bonjour ! Je viens de commencer à apprendre Kotlin après Java et je suis confus avec le mot-clé object. En Java, on utilise new pour créer des instances, et class est juste un modèle. Mais en Kotlin, je vois que object est utilisé partout : pour déclarer des singletons, pour créer des classes anonymes, et même comme companion object à l'intérieur d'une classe.
Voici un exemple qui me perturbe :
```kotlin
// Est-ce une classe ?
class MyClass {
fun doSomething() {
println("Hello from class")
}
}
// Et ça, qu'est-ce que c'est ? Aussi une classe ?
object MyObject {
fun doSomething() {
println("Hello from object")
}
}
// Et comment l'utiliser ?
fun main() {
val instance = MyClass() // Ok, je crée une instance de classe
MyObject.doSomething() // Mais ici sans new ? Pourquoi ?
}
```
Expliquez-moi, s'il vous plaît, quelle est la différence fondamentale entre class et object en Kotlin. Quand faut-il utiliser class, et quand object ? Et pourquoi object ne peut-il pas être créé via un constructeur, comme une classe normale ? Je vous remercie d'avance pour les exemples.
No answers yet.
Connectez-vous pour laisser une réponse
Blogs