Comment créer une instance d'une classe abstraite en Kotlin ?
Bonjour à tous ! Je viens de commencer à apprendre Kotlin après Java et j'ai rencontré une situation déroutante. En Java, on ne peut pas créer directement un objet d'une classe abstraite — il faut hériter et implémenter les méthodes abstraites. Mais en Kotlin, je vois qu'on peut parfois écrire quelque chose comme :
```kotlin
abstract class MyAbstractClass {
abstract fun doSomething()
}
fun main() {
// Est-ce que ça marche en Kotlin ?
val instance = object : MyAbstractClass() {
override fun doSomething() {
println("Implémentation")
}
}
}
```
J'ai une classe abstraite `Shape` avec une méthode abstraite `calculateArea()`. J'ai besoin de créer un objet temporaire pour les tests, sans créer une classe héritière séparée. Est-ce possible ? Et si oui, comment ça fonctionne sous le capot ? J'ai entendu parler des classes anonymes en Java, mais je ne suis pas sûr que ce soit la même chose en Kotlin. Expliquez-moi, s'il vous plaît, avec des exemples.
```kotlin
abstract class Shape(val name: String) {
abstract fun calculateArea(): Double
```