Orientação a Objetos e Java
Exame Escrito Final
Paulo Borba
Departamento de Informática
Universidade Federal de Pernambuco
1 de Julho de 1997
Questão 1
Procurando obter o máximo de reusabilidade, defina em Java as
classes TelCel e TelConv correspondendo a
telefones celulares e convencionais. Todo telefone tem um
número associado, que pode ser representado por um elemento
de int. Os telefones celulares têm também o número
de série do equipamento e uma descrição do mesmo. Já os
telefones convencionais têm um endereço de instalação.
A operação para trocar o número de um telefone funciona
perfeitamente para telefones celulares, mas dá uma mensagem
de erro quando tenta-se mudar o número de um telefone
convencional.
Questão 2
Defina em Java uma classe ConjFone cujos objetos
são conjuntos de telefones (celulares ou convencionais).
Esta classe deve implementar a seguinte interface:
interface DepositoDeFones {
void insere(Telefone t);
Telefone procura(int n);
Telefone next();
void reset();
boolean eoi();
}
que especifica operações para inserir um telefone no conjunto,
procurar um telefone pelo seu número, devolver (não remover!)
um telefone ainda não devolvido do conjunto, indicar que nenhum
telefone foi devolvido, e verificar se ainda existem telefones a
serem devolvidos.
Questão 3
Defina em Java uma classe Cliente cujos objetos são
clientes de uma empresa telefônica; isto é, os clientes têm
nome, endereço e um conjunto de telefones associados.
Defina o método inseretelefone de Cliente
que recebe um telefone e insere no conjunto de telefones do
cliente associado; mas considere que um cliente só pode
ter um telefone celular.