MAPA - PROGRAMAÇÃO AVANÇADA - 52_2025

No desenvolvimento de software orientado a objetos, conceitos como herança e polimorfismo são essenciais para criar sistemas modulares, reutilizáveis e escaláveis. A linguagem Java fornece um suporte robusto a esses conceitos, permitindo que desenvolvedores implementem soluções eficientes e flexíveis.

a) Explique o conceito de herança em Java e discuta como ela pode ser utilizada para promover a reutilização de código.

Considere a situação a seguir:

- A classe Animal é a superclasse e define um método fazerSom().

- A classe Cachorro herda Animal e sobrescreve fazerSom(), alterando seu comportamento.

- O método super(nome) chama o construtor da classe base para inicializar o nome.