Programação com Objectos/Teste de 2013/11/15: Difference between revisions
From Wiki**3
< Programação com Objectos
(Created page with "{{TOCright}} == Parte 1 == '''1.1.''' (3.0 val.) Empresa de Mobiliário '''1.2.''' (1.0 val.) [[Polimorfismo, ...") |
|
(No difference)
|
Revision as of 13:23, 18 November 2013
Parte 1
1.1. (3.0 val.) Empresa de Mobiliário
1.2. (1.0 val.) Fábrica e Empregados
1.3. (1.5 val.) Discuta a importância do encapsulamento e relacione-o com os conceitos de interface e implementação. Em que medida contribuem aqueles conceitos para a qualidade da programação. Como estão disponíveis em Java?
<text> </text>
1.4. (1.5 val.) Explique em consiste o mecanismo de abstracção presente em linguagens como o Java e o C++. Qual é a sua relação com o polimorfismo. Que consequências têm estes dois aspectos na produção de código?
Parte 2 (resposta múltipla)
2.1. Considere o diagrama UML da figura 1 (à direita). Qual das seguintes afirmações está correcta?
a implementação de doThis tem de estar necessariamente em CdoThis não está definido para BdoIt pode ser directamente invocado através de referências para II fornece a implementação para métodos declarados por A- nenhuma das anteriores está correcta
2.2. Em Java, o método main é especial porque...
é o único método que pode criar objectos- o interpretador começa sempre a execução da aplicação invocando o método main de uma determinada classe
todas as classes têm de ter um método mainé o único método static que uma classe pode tersó uma classe da aplicação pode ter o método main
2.3. Em Java, um método declarado protected...
só pode ser acedido dentro da própria classe ou por classes derivadasnão pode ser redefinidonão pode chamar outros métodos que também não sejam protected- pode ser acedido por classes da mesma package
só pode ser usado por construtores
2.4. Supondo que está a fazer os imports correctos, qual das seguintes instruções não gera nem avisos nem erros de compilação?
- List<Integer> myList = new ArrayList<Integer>();
List<Integer> myList = new List<Integer>();List<Object> myList = new ArrayList<Integer>();ArrayList<Integer> myList = new List<Integer>();Todas estão correctas
2.5. Em Java, o fragmento de código catch(Exception e) { /* ... */ }
apanha todos os objectos que forem atirados por um throw anterioré inútil desde que exista um qualquer catch anterior- o seu bloco pode lançar, ele próprio, uma excepção
volta a apanhar todos os objectos, mesmo os que já tenham sido apanhados por um catch anteriornunca apanha qualquer objecto