|
|
(One intermediate revision by the same user not shown) |
Line 1: |
Line 1: |
| {{TOCright}}
| | #REDIRECT [[ist:Programação com Objectos/Teste de 2013/11/15]] |
| | |
| == Parte 1 ==
| |
| | |
| '''1.1.''' (3.0 val.) [[Introdução à Modelação com UML/Empresa de Mobiliário|Empresa de Mobiliário]]
| |
| | |
| '''1.2.''' (1.0 val.) [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 07: Fábrica e Empregados|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?
| |
| | |
| * [[Polimorfismo, Interfaces, Classes Abstractas]]
| |
| | |
| == Parte 2 (resposta múltipla) ==
| |
| | |
| [[Image:UML-teste-po-20121119.png|frame|right|Figura 1 (todos os métodos estão implementados)]] '''2.1.''' Considere o diagrama UML da figura 1 (à direita). Qual das seguintes afirmações está correcta?
| |
| | |
| :#<s>a implementação de '''doThis''' tem de estar necessariamente em '''C'''</s>
| |
| :#<s>'''doThis''' não está definido para '''B'''</s>
| |
| :#<s>'''doIt''' pode ser directamente invocado através de referências para '''I'''</s>
| |
| :#<s>'''I''' fornece a implementação para métodos declarados por '''A'''</s>
| |
| :#nenhuma das anteriores está correcta
| |
| | |
| '''2.2.''' Em Java, o método '''main''' é especial porque...
| |
| :# <s>é o único método que pode criar objectos</s>
| |
| :# o interpretador começa sempre a execução da aplicação invocando o método '''main''' de uma determinada classe
| |
| :# <s>todas as classes têm de ter um método '''main'''</s>
| |
| :# <s>é o único método '''static''' que uma classe pode ter</s>
| |
| :# <s>só uma classe da aplicação pode ter o método '''main'''</s>
| |
| | |
| '''2.3.''' Em Java, um método declarado '''protected'''...
| |
| | |
| :#<s>só pode ser acedido dentro da própria classe ou por classes derivadas</s>
| |
| :#<s>não pode ser redefinido</s>
| |
| :#<s>não pode chamar outros métodos que também não sejam '''protected'''</s>
| |
| :#pode ser acedido por classes da mesma package
| |
| :#<s>só pode ser usado por construtores</s>
| |
| | |
| '''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>();'''
| |
| :#<s>'''List<Integer> myList = new List<Integer>();'''</s>
| |
| :#<s>'''List<Object> myList = new ArrayList<Integer>();'''</s>
| |
| :#<s>'''ArrayList<Integer> myList = new List<Integer>();'''</s>
| |
| :#<s>Todas estão correctas</s>
| |
| | |
| '''2.5.''' Em Java, o fragmento de código '''catch(Exception e) { /* ... */ }'''
| |
| :#<s>apanha todos os objectos que forem atirados por um '''throw''' anterior</s>
| |
| :#<s>é inútil desde que exista um qualquer '''catch''' anterior</s>
| |
| :#o seu bloco pode lançar, ele próprio, uma excepção
| |
| :#<s>volta a apanhar todos os objectos, mesmo os que já tenham sido apanhados por um '''catch''' anterior</s>
| |
| :#<s>nunca apanha qualquer objecto</s>
| |
| | |
| [[Category:PO]]
| |
| [[Category:Ensino]]
| |