Avatar ·

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