JavaPOOintermediario

Classe abstrata

Em sistemas reais, você frequentemente precisa definir um comportamento comum para várias classes, mas sem permitir que a classe base seja instanciada. Por exemplo, em um jogo, uma classe abstrata 'Personagem' pode ter métodos como 'mover()', mas você nunca cria um 'Personagem' genérico — apenas heróis ou inimigos concretos. Dominar classes abstratas evita que você ou sua equipe criem objetos sem sentido, mantendo a hierarquia de classes limpa e segura.

O PROBLEMA

Forma abstrata. Triangulo e Retangulo. Tente instanciar Forma.

EXEMPLO

new Forma() → erro

SOBRE O CONCEITO

Uma classe abstrata é declarada com a palavra-chave abstract e não pode ser instanciada diretamente. Ela serve como base para outras classes, podendo conter métodos abstratos (sem corpo) que as subclasses são obrigadas a implementar com @Override. No exercício, Forma é abstrata; Triangulo e Retangulo estendem-na e fornecem implementações concretas. O erro comum de tentar new Forma() causa falha de compilação porque a JVM não sabe como criar um objeto de um tipo incompleto. Isso força o programador a sempre usar subclasses, garantindo que cada forma tenha sua lógica específica.

RESOLUÇÃO

Mais exercícios de POO

JAP004 · BásicoMétodo com retornoJAP005 · BásicoMúltiplos objetosJAP011 · IntermediárioHerança simplesJAP002 · BásicoConstrutor
Ver todos os exercícios de Java