Orientação a Objetos e Java
Exame Escrito


Paulo Borba
Departamento de Informática
Universidade Federal de Pernambuco
2 de Maio de 1997



Questão 1 Defina em Java um tipo Mapeamento cujos objetos são mapeamentos de objetos da classe String para objetos da classe Object. Dada uma string, um mapeamento retorna o objeto associado a ela, se esta associação foi anteriormente introduzida. Assim, os mapeamentos devem ter métodos para realizar as seguintes operações: Já que o número de associações em um mapeamento não é limitado, não use arrays para resolver esta questão. Também não use nenhuma classe pré-definida de Java além das mencionadas acima. Assuma que o método equals indica se duas strings são iguais.

Questão 2 Defina em Java um tipo Servidor cujos objetos são servidores WWW tendo os seguintes métodos e atributos:

Questão 3 Defina em Java um tipo Cliente cujos objetos são clientes WWW (browsers) tendo os seguintes métodos e atributos: Indique como a partir do tipo Cliente poderia-se definir um tipo ClienteWindows apto a funcionar no ambiente Windows'95.

Questão 4 Implemente em Java um tipo ServidorSeguro cujo método pegaDocumento, por questões de segurança, devolve duas cópias do mesmo documento, uma concatenada com a outra. O que teria que ser alterado no tipo Cliente para que os clientes fossem capazes de trabalhar com os dois tipos de servidores? Que outros mecanismos de Java poderiam ser utilizados para resolver esta questão? Justifique a sua escolha segundo os aspectos de qualidade de software.