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.
b) Considerando a situação apresentada elabore um código em Java. Esse código deve exemplificar como
uma classe base e uma classe derivada podem ser implementadas em Java.
Paulo está criando sua primeira aplicação web em Java utilizando Servlets com o objetivo de processar
requisições HTTP e retornar respostas dinâmicas ao navegador. Ele deseja desenvolver uma página que
exiba uma mensagem de boas-vindas ao usuário sempre que o servlet for acessado via navegador. Para
isso, Paulo precisa implementar um servlet básico que responda a uma requisição do tipo GET com uma
mensagem simples em HTML.
c) Com base no cenário apresentado, escreva um Servlet Java simples que, ao ser acessado via requisição
GET, retorne a mensagem: “Bem-vindo à aplicação Servlet!”
O conteúdo deve ser exibido como uma página HTML no navegador. Considere que a classe está
corretamente mapeada e estende HttpServlet.