Exercícios sobre Interfaces
Questão 1
Implemente a interface e as classes apresentadas no diagrama abaixo, respeitando as assinaturas dos métodos definidas.
Considere que construtores, getters e setters não estão representados no diagrama, mas devem ser implementados quando necessário.
Após a implementação, instancie objetos de cada classe e apresente no terminal os valores de área e perímetro correspondentes.
Questão 2
Crie uma nova classe responsável por operações com objetos do tipo Shape.
Nessa classe, implemente um método que receba uma lista de Shape e calcule a soma das áreas de todos os elementos. O método deve utilizar apenas a interface Shape (não usar instanceof).
O resultado deve ser retornado como um valor do tipo double.Após implementar:
Crie uma lista contendo objetos Rect, Triangle e Circle
Utilize o método da nova classe para calcular a área total
Exiba o resultado no terminal.
Observação: O método getTotalArea está sublinhado no diagrama, ou seja, deve ser static.
Questão 3
Implemente a interface Scalable e adapte as classes já existentes para suportar redimensionamento.
A interface deve permitir que uma forma geométrica tenha suas dimensões alteradas por um fator de escala.
Regras:
Regras:
- O fator de escala será um valor do tipo double
- Um fator maior que 1 aumenta o tamanho
- Um fator entre 0 e 1 diminui o tamanho
- Considere que o fator será sempre positivo