- Engenharia de SoftwareDesign Patterns
- LinguagensJava
- Paradigmas de ProgramaçãoOrientação a ObjetosAnálise e Projeto Orientado a Objetos
Considere o trecho de código a seguir e responda à questão.
1. public class UfrjCom {
2. public static void main(String[] args) {
3. MediaArt ma = new MediaArt( new float[] {8.9f, 7.6f, 5.9f, 8.5f} );
4. System.out.println(CalculadoraMedia.calcular(ma));
5. }
6. }
7. class CalculadoraMedia{
8. public static float calcular(Media media) { return media.calcular(); }
9. }
10. interface Media { public float calcular(); }
11. class MediaArt implements Media {
12. // Atributos e construtor
13. public float calcular() { /*Calcula e retorna a média aritmética.*/ }
14. }
15. class MediaPod implements Media {
16. // Atributos e construtor
17. public float calcular() { /*Calcula e retorna a média ponderada.*/ }
18. }
Marque a alternativa que contém a melhor indicação do padrão de projeto correspondente à implementação apresentada.