Junior — Middle
Explique o que é uma classe abstrata e em que ela difere de uma classe normal.
sobes.tech IA
Resposta da IA
Uma classe abstrata é uma classe que não é destinada a criar instâncias diretamente. Sua principal função é servir como base para outras classes. Em uma classe abstrata podem existir métodos abstratos — métodos sem implementação que devem ser implementados nas subclasses.
Diferenças de uma classe comum:
- Não é possível criar um objeto de uma classe abstrata diretamente.
- Pode conter métodos abstratos.
- É usada para definir uma interface e comportamento comuns para um grupo de subclasses.
Exemplo em Kotlin (Android):
abstract class Animal {
abstract fun makeSound()
fun sleep() {
println("Dorme")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Au")
}
}
fun main() {
val dog = Dog()
dog.makeSound() // Vai imprimir: Au
dog.sleep() // Vai imprimir: Dorme
}