¿Cómo crear una clase anónima basada en una clase abstracta en Kotlin?
¡Hola! Estoy migrando de Java a Kotlin y me encontré con un problema. En Java solía usar clases anónimas para implementar rápidamente clases abstractas o interfaces. Por ejemplo, en Java podía escribir algo como:
```java
abstract class Animal {
abstract void makeSound();
}
public class Main {
public static void main(String[] args) {
Animal dog = new Animal() {
@Override
void makeSound() {
System.out.println("Woof!");
}
};
dog.makeSound();
}
}
```
Esto funciona perfectamente. Pero cuando intenté hacer lo mismo en Kotlin, escribí:
```kotlin
abstract class Animal {
abstract fun makeSound()
}
fun main() {
val dog = Animal() {
override fun makeSound() {
println("Woof!")
}
}
dog.makeSound()
}
```
Y obtuve un error de compilación: "Cannot create an instance of an abstract class". Entiendo que Kotlin es un lenguaje diferente, pero ¿cómo