<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: INC - Colisão de Nomes de Métodos</title>
	<atom:link href="http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/feed/" rel="self" type="application/rss+xml" />
	<link>http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/</link>
	<description>Linux, Open-source, Programação e Produtividade</description>
	<pubDate>Sat, 31 Jul 2010 02:09:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jonas Abreu</title>
		<link>http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/comment-page-1/#comment-17485</link>
		<dc:creator>Jonas Abreu</dc:creator>
		<pubDate>Mon, 03 Mar 2008 17:22:05 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/#comment-17485</guid>
		<description>Olá Luiz, 

Esse é um dos motivos pelos quais Java não permite herança múltipla (vai dar erro de compilação). Em C  , onde é permitido, vai depender do compilador que você usa (terrível!) porque isso não está (ou estava) bem especificado.</description>
		<content:encoded><![CDATA[<p>Olá Luiz, </p>
<p>Esse é um dos motivos pelos quais Java não permite herança múltipla (vai dar erro de compilação). Em C  , onde é permitido, vai depender do compilador que você usa (terrível!) porque isso não está (ou estava) bem especificado.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carlos Fran</title>
		<link>http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/comment-page-1/#comment-17416</link>
		<dc:creator>Carlos Fran</dc:creator>
		<pubDate>Mon, 03 Mar 2008 12:14:33 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/#comment-17416</guid>
		<description>O Sérgio explicou muito bem.
Mas é preciso lembrar sempre que "interface" é um classe que tem métodos abstratos - não implementados.
Portanto, se você herdar e/ou implementar dois métodos abstratos iguais (assinaturas iguais) você não precisa codificar duas vezes.

Se as assinaturas são diferentes, os métodos não são iguais.

Com relação a herança multipla, fiquei na dúvida... Como o Fábio falou é um problema! Pode até compilar mas de quem herda?!
Será que segue alguma ordem de declaração?! class C extends A, B {}

Gostei do post, deu até vontade de voltar a estudar Java!</description>
		<content:encoded><![CDATA[<p>O Sérgio explicou muito bem.<br />
Mas é preciso lembrar sempre que &#8220;interface&#8221; é um classe que tem métodos abstratos - não implementados.<br />
Portanto, se você herdar e/ou implementar dois métodos abstratos iguais (assinaturas iguais) você não precisa codificar duas vezes.</p>
<p>Se as assinaturas são diferentes, os métodos não são iguais.</p>
<p>Com relação a herança multipla, fiquei na dúvida&#8230; Como o Fábio falou é um problema! Pode até compilar mas de quem herda?!<br />
Será que segue alguma ordem de declaração?! class C extends A, B {}</p>
<p>Gostei do post, deu até vontade de voltar a estudar Java!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabio Kung</title>
		<link>http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/comment-page-1/#comment-17408</link>
		<dc:creator>Fabio Kung</dc:creator>
		<pubDate>Mon, 03 Mar 2008 11:24:53 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/#comment-17408</guid>
		<description>Oi Luiz,

Esse é exatamente um dos problemas da herança múltipla, onde você não herda só responsabilidade, mas também comportamento!

Não dá para saber intuitivamente de quem você herda a operação. Precisa de alguma definição explícita, ou alguma regra semântica da linguagem.</description>
		<content:encoded><![CDATA[<p>Oi Luiz,</p>
<p>Esse é exatamente um dos problemas da herança múltipla, onde você não herda só responsabilidade, mas também comportamento!</p>
<p>Não dá para saber intuitivamente de quem você herda a operação. Precisa de alguma definição explícita, ou alguma regra semântica da linguagem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luiz</title>
		<link>http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/comment-page-1/#comment-17401</link>
		<dc:creator>Luiz</dc:creator>
		<pubDate>Mon, 03 Mar 2008 10:43:27 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/#comment-17401</guid>
		<description>E o que acontece se uma classe fizer herança de duas classes que contém um método de mesmo nome? Por exemplo:

class A {
    public void x() { System.out.println("A"); }
}

class B {
    public void x() { System.out.println("B"); }
}

class C extends A, B {
}

O que acontece? Compila? Se compilar, chama o x de qual superclasse?</description>
		<content:encoded><![CDATA[<p>E o que acontece se uma classe fizer herança de duas classes que contém um método de mesmo nome? Por exemplo:</p>
<p>class A {<br />
    public void x() { System.out.println(&#8221;A&#8221;); }<br />
}</p>
<p>class B {<br />
    public void x() { System.out.println(&#8221;B&#8221;); }<br />
}</p>
<p>class C extends A, B {<br />
}</p>
<p>O que acontece? Compila? Se compilar, chama o x de qual superclasse?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonas Abreu</title>
		<link>http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/comment-page-1/#comment-15587</link>
		<dc:creator>Jonas Abreu</dc:creator>
		<pubDate>Sat, 23 Feb 2008 02:06:04 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/#comment-15587</guid>
		<description>Verdade, porque daí a classe teria dois métodos com a mesma assinatura mas valores de retorno diferentes (o que é inválido). Vou testar pra ver se com o retorno covariante do Java 5 isso também daria problema.

Valeu pela visita!</description>
		<content:encoded><![CDATA[<p>Verdade, porque daí a classe teria dois métodos com a mesma assinatura mas valores de retorno diferentes (o que é inválido). Vou testar pra ver se com o retorno covariante do Java 5 isso também daria problema.</p>
<p>Valeu pela visita!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sérgio Lopes</title>
		<link>http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/comment-page-1/#comment-15539</link>
		<dc:creator>Sérgio Lopes</dc:creator>
		<pubDate>Fri, 22 Feb 2008 16:33:20 +0000</pubDate>
		<guid isPermaLink="false">http://vidageek.net/2008/03/03/inc-colisao-de-nomes-de-metodos/#comment-15539</guid>
		<description>Quando eu dou essa aula no FJ-19 explico assim:

"Quando implementamos uma interface, falamos não de herança de codigo mas heranca de responsabilidade: minha classe se compromete a ter o tal metodo.

Quando duas interfaces pedem a mesma coisa, dá erro? Preciso fazer duas vezes?
Quando sua cama ficava desarrumada quando era criança e sua mãe manda voce arrumar; aí vem seu pai e também manda arrumar. Duas pessoas te deram a mesma responsabilidade, mas voce arruma duas vezes? Nao, arruma ma vez só e vc ja esta acertado com os dois."

Ah tenta fazer 2 interfaces com mesmo nome de metodo, mas retornos diferentes. E implementar as duas na mesma classe... aí dá pau :)</description>
		<content:encoded><![CDATA[<p>Quando eu dou essa aula no FJ-19 explico assim:</p>
<p>&#8220;Quando implementamos uma interface, falamos não de herança de codigo mas heranca de responsabilidade: minha classe se compromete a ter o tal metodo.</p>
<p>Quando duas interfaces pedem a mesma coisa, dá erro? Preciso fazer duas vezes?<br />
Quando sua cama ficava desarrumada quando era criança e sua mãe manda voce arrumar; aí vem seu pai e também manda arrumar. Duas pessoas te deram a mesma responsabilidade, mas voce arruma duas vezes? Nao, arruma ma vez só e vc ja esta acertado com os dois.&#8221;</p>
<p>Ah tenta fazer 2 interfaces com mesmo nome de metodo, mas retornos diferentes. E implementar as duas na mesma classe&#8230; aí dá pau :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
