Sobes.tech
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
}