<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://robots.hlt.inesc-id.pt/w/pt/index.php?action=history&amp;feed=atom&amp;title=Programa%C3%A7%C3%A3o_com_Objectos%2FTeste_de_2013%2F11%2F15</id>
	<title>Programação com Objectos/Teste de 2013/11/15 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://robots.hlt.inesc-id.pt/w/pt/index.php?action=history&amp;feed=atom&amp;title=Programa%C3%A7%C3%A3o_com_Objectos%2FTeste_de_2013%2F11%2F15"/>
	<link rel="alternate" type="text/html" href="https://robots.hlt.inesc-id.pt/w/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/11/15&amp;action=history"/>
	<updated>2026-05-23T04:48:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://robots.hlt.inesc-id.pt/w/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/11/15&amp;diff=4990&amp;oldid=prev</id>
		<title>Root: moved Programação com Objectos - Teste de 2013/11/15 to Programação com Objectos/Teste de 2013/11/15</title>
		<link rel="alternate" type="text/html" href="https://robots.hlt.inesc-id.pt/w/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/11/15&amp;diff=4990&amp;oldid=prev"/>
		<updated>2013-11-18T13:23:14Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/w/pt/index.php/Programa%C3%A7%C3%A3o_com_Objectos_-_Teste_de_2013/11/15&quot; class=&quot;mw-redirect&quot; title=&quot;Programação com Objectos - Teste de 2013/11/15&quot;&gt;Programação com Objectos - Teste de 2013/11/15&lt;/a&gt; to &lt;a href=&quot;/w/pt/index.php/Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/11/15&quot; title=&quot;Programação com Objectos/Teste de 2013/11/15&quot;&gt;Programação com Objectos/Teste de 2013/11/15&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:23, 18 November 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://robots.hlt.inesc-id.pt/w/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/11/15&amp;diff=4989&amp;oldid=prev</id>
		<title>Root: Created page with &quot;{{TOCright}}   == Parte 1  ==  &#039;&#039;&#039;1.1.&#039;&#039;&#039; (3.0 val.) Empresa de Mobiliário  &#039;&#039;&#039;1.2.&#039;&#039;&#039; (1.0 val.) [[Polimorfismo, ...&quot;</title>
		<link rel="alternate" type="text/html" href="https://robots.hlt.inesc-id.pt/w/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/11/15&amp;diff=4989&amp;oldid=prev"/>
		<updated>2013-11-18T13:22:59Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{TOCright}}   == Parte 1  ==  &amp;#039;&amp;#039;&amp;#039;1.1.&amp;#039;&amp;#039;&amp;#039; (3.0 val.) &lt;a href=&quot;/w/pt/index.php/Introdu%C3%A7%C3%A3o_%C3%A0_Modela%C3%A7%C3%A3o_com_UML/Empresa_de_Mobili%C3%A1rio&quot; title=&quot;Introdução à Modelação com UML/Empresa de Mobiliário&quot;&gt;Empresa de Mobiliário&lt;/a&gt;  &amp;#039;&amp;#039;&amp;#039;1.2.&amp;#039;&amp;#039;&amp;#039; (1.0 val.) [[Polimorfismo, ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{TOCright}} &lt;br /&gt;
&lt;br /&gt;
== Parte 1  ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1.1.&amp;#039;&amp;#039;&amp;#039; (3.0 val.) [[Introdução à Modelação com UML/Empresa de Mobiliário|Empresa de Mobiliário]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1.2.&amp;#039;&amp;#039;&amp;#039; (1.0 val.) [[Polimorfismo, Interfaces, Classes Abstractas/Exercício 07: Fábrica e Empregados|Fábrica e Empregados]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1.3.&amp;#039;&amp;#039;&amp;#039; (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?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;text&amp;gt;&lt;br /&gt;
&amp;lt;/text&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1.4.&amp;#039;&amp;#039;&amp;#039; (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?&lt;br /&gt;
&lt;br /&gt;
* [[Polimorfismo, Interfaces, Classes Abstractas]]&lt;br /&gt;
&lt;br /&gt;
== Parte 2 (resposta múltipla)  ==&lt;br /&gt;
&lt;br /&gt;
[[Image:UML-teste-po-20121119.png|frame|right|Figura 1 (todos os métodos estão implementados)]] &amp;#039;&amp;#039;&amp;#039;2.1.&amp;#039;&amp;#039;&amp;#039; Considere o diagrama UML da figura 1 (à direita). Qual das seguintes afirmações está correcta? &lt;br /&gt;
&lt;br /&gt;
:#&amp;lt;s&amp;gt;a implementação de &amp;#039;&amp;#039;&amp;#039;doThis&amp;#039;&amp;#039;&amp;#039; tem de estar necessariamente em &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;&amp;lt;/s&amp;gt; &lt;br /&gt;
:#&amp;lt;s&amp;gt;&amp;#039;&amp;#039;&amp;#039;doThis&amp;#039;&amp;#039;&amp;#039; não está definido para &amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039;&amp;lt;/s&amp;gt; &lt;br /&gt;
:#&amp;lt;s&amp;gt;&amp;#039;&amp;#039;&amp;#039;doIt&amp;#039;&amp;#039;&amp;#039; pode ser directamente invocado através de referências para &amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;&amp;lt;/s&amp;gt; &lt;br /&gt;
:#&amp;lt;s&amp;gt;&amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039; fornece a implementação para métodos declarados por &amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039;&amp;lt;/s&amp;gt; &lt;br /&gt;
:#nenhuma das anteriores está correcta&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2.2.&amp;#039;&amp;#039;&amp;#039; Em Java, o método &amp;#039;&amp;#039;&amp;#039;main&amp;#039;&amp;#039;&amp;#039; é especial porque...&lt;br /&gt;
:# &amp;lt;s&amp;gt;é o único método que pode criar objectos&amp;lt;/s&amp;gt;&lt;br /&gt;
:# o interpretador começa sempre a execução da aplicação invocando o método &amp;#039;&amp;#039;&amp;#039;main&amp;#039;&amp;#039;&amp;#039; de uma determinada classe&lt;br /&gt;
:# &amp;lt;s&amp;gt;todas as classes têm de ter um método &amp;#039;&amp;#039;&amp;#039;main&amp;#039;&amp;#039;&amp;#039;&amp;lt;/s&amp;gt;&lt;br /&gt;
:# &amp;lt;s&amp;gt;é o único método &amp;#039;&amp;#039;&amp;#039;static&amp;#039;&amp;#039;&amp;#039; que uma classe pode ter&amp;lt;/s&amp;gt;&lt;br /&gt;
:# &amp;lt;s&amp;gt;só uma classe da aplicação pode ter o método &amp;#039;&amp;#039;&amp;#039;main&amp;#039;&amp;#039;&amp;#039;&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2.3.&amp;#039;&amp;#039;&amp;#039; Em Java, um método declarado &amp;#039;&amp;#039;&amp;#039;protected&amp;#039;&amp;#039;&amp;#039;...&lt;br /&gt;
&lt;br /&gt;
:#&amp;lt;s&amp;gt;só pode ser acedido dentro da própria classe ou por classes derivadas&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;não pode ser redefinido&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;não pode chamar outros métodos que também não sejam &amp;#039;&amp;#039;&amp;#039;protected&amp;#039;&amp;#039;&amp;#039;&amp;lt;/s&amp;gt;&lt;br /&gt;
:#pode ser acedido por classes da mesma package&lt;br /&gt;
:#&amp;lt;s&amp;gt;só pode ser usado por construtores&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2.4.&amp;#039;&amp;#039;&amp;#039; Supondo que está a fazer os imports correctos, qual das seguintes instruções não gera nem avisos nem erros de compilação?&lt;br /&gt;
&lt;br /&gt;
:#&amp;#039;&amp;#039;&amp;#039;List&amp;lt;Integer&amp;gt; myList = new ArrayList&amp;lt;Integer&amp;gt;();&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:#&amp;lt;s&amp;gt;&amp;#039;&amp;#039;&amp;#039;List&amp;lt;Integer&amp;gt; myList = new List&amp;lt;Integer&amp;gt;();&amp;#039;&amp;#039;&amp;#039;&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;&amp;#039;&amp;#039;&amp;#039;List&amp;lt;Object&amp;gt;  myList = new ArrayList&amp;lt;Integer&amp;gt;();&amp;#039;&amp;#039;&amp;#039;&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;&amp;#039;&amp;#039;&amp;#039;ArrayList&amp;lt;Integer&amp;gt; myList = new List&amp;lt;Integer&amp;gt;();&amp;#039;&amp;#039;&amp;#039;&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Todas estão correctas&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2.5.&amp;#039;&amp;#039;&amp;#039; Em Java, o fragmento de código &amp;#039;&amp;#039;&amp;#039;catch(Exception e) { /* ... */ }&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:#&amp;lt;s&amp;gt;apanha todos os objectos que forem atirados por um &amp;#039;&amp;#039;&amp;#039;throw&amp;#039;&amp;#039;&amp;#039; anterior&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;é inútil desde que exista um qualquer &amp;#039;&amp;#039;&amp;#039;catch&amp;#039;&amp;#039;&amp;#039; anterior&amp;lt;/s&amp;gt;&lt;br /&gt;
:#o seu bloco pode lançar, ele próprio, uma excepção&lt;br /&gt;
:#&amp;lt;s&amp;gt;volta a apanhar todos os objectos, mesmo os que já tenham sido apanhados por um &amp;#039;&amp;#039;&amp;#039;catch&amp;#039;&amp;#039;&amp;#039; anterior&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;nunca apanha qualquer objecto&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PO]]&lt;br /&gt;
[[Category:Ensino]]&lt;/div&gt;</summary>
		<author><name>Root</name></author>
	</entry>
</feed>