Sobes.tech
Junior — Middle

Explique o que é uma classe abstrata na programação orientada a objetos.

sobes.tech IA

Resposta da IA

Uma classe abstrata na programação orientada a objetos é uma classe que não é destinada a criar instâncias diretamente. Ela serve como modelo base para outras classes e pode conter:

  • Métodos abstratos: declarados mas não implementados na própria classe abstrata, cuja implementação é obrigatória nas subclasses.
  • Métodos normais com implementação, que podem ser utilizados ou sobrescritos nas subclasses.

A classe abstrata ajuda a definir uma interface e comportamento comuns para um grupo de classes relacionadas, garantindo a possibilidade de concretização nas subclasses.

Exemplo em Java:

abstract class Animal {
    abstract void makeSound(); // método abstrato

    void sleep() {
        System.out.println("A dormir...");
    }
}

class Dog extends Animal {
    void makeSound() {
        System.out.println("Latir");
    }
}

Aqui, Animal não pode ser criado diretamente, mas pode-se criar um Dog, que implementa o método abstrato.