Como criar uma classe anônima baseada em uma classe abstrata em Kotlin?
Olá! Estou migrando de Java para Kotlin e me deparei com um problema. Em Java, eu costumava usar classes anônimas para implementar rapidamente classes abstratas ou interfaces. Por exemplo, em Java eu podia escrever 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();
}
}
```
Isso funciona perfeitamente. Mas quando tentei fazer o mesmo em Kotlin, escrevi:
```kotlin
abstract class Animal {
abstract fun makeSound()
}
fun main() {
val dog = Animal() {
override fun makeSound() {
println("Woof!")
}
}
dog.makeSound()
}
```
E recebi um erro de compilação: "Cannot create an instance of an abstract class". Eu entendo que Kotlin é uma linguagem diferente, mas como