Orientação a Objetos e Java
Avaliação Escrita
Paulo Borba
Departamento de Informática
Universidade Federal de Pernambuco
15 de Julho de 1996
Questão 1
Pacotes e classes são mecanismos de 
modularização encontrados em algumas linguagens de programação.
Explique o propósito de cada mecanismo, e descreva vantagens e 
desvantagens de ter os dois mecanismos em uma mesma linguagem.
Questão 2
Um dos principais fatores de qualidade de software é 
extensibilidade, o qual diz respeito a facilidade com que
um programa pode ser modificado devido a alterações na sua 
especificação.
Que recursos de Java favorecem extensibilidade de
software? Justifique.
Questão 3
Os conceitos de subtipo e herança de código
estão intimamente ligados em várias linguagens orientadas
a objetos. Indique que recursos Java oferece para separar 
estes dois conceitos. Quais as vantagens e desvantagens desta
separação?
Questão 4
Descreva quais são as principais diferenças entre os paradigmas
Lógico e Funcional, considerando os seguintes 
aspectos:
-  Recursos lingüisticos;
-  Modelo computacional;
-  Poder de expressão;
-  Aplicações.