Poo Exercicios 05 Interfaces v02
Poo Exercicios 05 Interfaces v02
Poo Exercicios 05 Interfaces v02
Questão 1
Uma empresa controla seus produtos na forma de dois tipos de objetos: produtos comprados e
produtos fabricados. Produtos comprados implementam a interface IProduto:
1
Questão 2
Considere um polinômio de grau n:
P (x) = an xn + an−1 xn−1 + . . . + a1 x1 + a0 x0
Escreva uma classe Termo que represente um termo deste polinômio com os seguintes métodos:
construtor Recebe dois parâmetros : ai e i, e cria um objeto em memória na forma ai xi.
insere Recebe um objeto da classe Termo e substitui os valores ai xi do termo corrente por
aqueles do termo recebido como parâmetro.
calcula Recebe um valor de x como parâmetro e retorna o valor do termo calculado.
Escreva uma classe Polinomio que representa polinômio completo na forma de uma sequência de
objetos da classe Termo, com os seguintes métodos:
construtor Recebe um objeto da classe Termo e cria um polinômio em memória na forma: P(x) = ai xi.
insere Recebe um objeto da classe Termo (representando um termo ai xi) e o adiciona ao
polinômio. O polinômio pode ter um terno aq xq cujo valor de q seja igual a i, neste caso,
a função deve unificar ambos em um único termo.
calcula Recebe um valor de x como parâmetro e retorna o valor de P(x).
fusao Recebe como parâmetro outro objeto da classe Polinomio e realiza a fusão do polinômio
recebido como parâmetro com o polinômio corrente.
Questão 3
Dada a seguinte interface:
public interface Calculavel {
public void insere(Termo termoInserido);
public float calcula(int x);
}
2
insere Recebe um objeto da classe Polinomio ou PolinomioComSub e o adiciona como sub-
polinômio.
calcula Recebe um valor de x como parâmetro e retorna o valor de P(x).
fusao Não recebe parâmetros. Realiza uma fusão de todos os sub-polinômios do objeto corrente,
de tal modo que este objeto corrente passe a ter um polinômio sem sub-polinômios,
sintetizando os termos de todos os sub-polinômios que sofreram fusão.
fusao Recebe como parâmetro um objeto da classe Polinomio ou PolinomioComSub e se
comporta como o método função anterior, acrescentando o objeto recebido como
parâmetro no processo.
Acrescente os métodos que achar necessários nas classes e interfaces solicitadas. Em alguns casos
pode ser interessante definir novas interfaces ou sub-interfaces. Analise a possibilidade de adaptar a classe
PolinomioComSub para que se torne herdeira de Polinomio e avalie as vantagens e desvantagens.
Decisões de re-projeto fazem parte desta questão.