Avatar ·

Como criar uma instância de uma classe abstrata em Kotlin?

Olá a todos! Comecei a estudar Kotlin depois de Java e me deparei com uma situação confusa. Em Java, não é possível criar diretamente um objeto de uma classe abstrata — é necessário herdar e implementar os métodos abstratos. Mas em Kotlin, vejo que às vezes é possível escrever algo como: ```kotlin abstract class MyAbstractClass { abstract fun doSomething() } fun main() { // Isso funciona em Kotlin? val instance = object : MyAbstractClass() { override fun doSomething() { println("Implementação") } } } ``` Eu tenho uma classe abstrata `Shape` com um método abstrato `calculateArea()`. Preciso criar um objeto temporário para teste, sem criar uma classe herdeira separada. É possível fazer isso? E se sim, como funciona por baixo dos panos? Ouvi falar sobre classes anônimas em Java, mas não tenho certeza se em Kotlin é a mesma coisa. Explique, por favor, com exemplos. ```kotlin abstract class Shape(val name: String) { abstract fun calculateArea(): Double ```