Dúvida Retornos covariantes  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
rmalati
Virtual Machine Man
[Avatar]

Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline

Pessoal, lendo o livro da Kathy, página 75 sobre os retornos covariantes surgiu uma dúvida no seguinte exemplo.



Este seria, segundo o livro, um tipo de retorno covariante.
Mas o método sobrescrito(da superclasse) tem um tipo de retorno void, e o método sobrescritor(da subclasse) tem um tipo de retorno String.
Minha dúvida é se este código estaria errado, ou o tipo String seria um subtipo de void, estando este código correto??
Sinceramente acredito que o livro esteja errado, mas como não tenho certeza absoluta resolvi perguntar.
Obrigado.

This message was edited 1 time. Last update was at 11/04/2008 07:47:43


Rodrigo Malatesta Barbosa
Graduando em Tecnologia Informática Unicamp
SCJP 1.6 - 93%

"A disciplina é o caminho mais curto para o sucesso"
"Se não puder destacar pelo talento, vença pelo esforço. (Provérbio indiano)"
[Email] [MSN]
paulo.ubuntu
JavaTeenager
[Avatar]

Membro desde: 16/07/2007 20:20:37
Mensagens: 175
Localização: Perth, WA - Australia
Offline

eae rmlati.

pois bem... o exemplo citado a cima dá o seguinte erro :

"The return type is incompatible"

Alterar somente o tipo de retorno de um metodo, afim de sobescrever o mesmo, não é suficiente.

No caso de Tipos de Retorno Covariants, seria mais ou menos assim :



Espero que te ajude


Abraços

Sun Certified Java Programmer 5.0
SCWCD 1.4
Estudando SCEA

Facebook - http://www.facebook.com/paulo.miguel.almeida

http://www.useaporradogoogle.kit.net/

Paulo Miguel Almeida
[WWW] [MSN]
GustavoLaguna
JavaTeenager
[Avatar]

Membro desde: 06/04/2006 15:58:47
Mensagens: 162
Localização: Mirassol/SP
Offline



No livro da Kathy o método que retorna uma String tem parametro, agora sim ele está (overload) não sei como está a tradução.

This message was edited 2 times. Last update was at 11/04/2008 07:10:12

rmalati
Virtual Machine Man
[Avatar]

Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline

Mas no livro, o tema é sobre retornos covariantes de métodos sobrescritos, não tem nada a ver com métodos sobrecarregados.
Na verdade eu só queria saber se o tipo String é um retorno covariante para void.
De qq forma obrigado.

Rodrigo Malatesta Barbosa
Graduando em Tecnologia Informática Unicamp
SCJP 1.6 - 93%

"A disciplina é o caminho mais curto para o sucesso"
"Se não puder destacar pelo talento, vença pelo esforço. (Provérbio indiano)"
[Email] [MSN]
GustavoLaguna
JavaTeenager
[Avatar]

Membro desde: 06/04/2006 15:58:47
Mensagens: 162
Localização: Mirassol/SP
Offline

Bom, aqui no livro que estou lendo o exemplo que você citou está no tópico "Return Types on Overloaded Methods".



Já o do tópico "Overriding and Return Types, and Covariant Returns" seria este.


Abraço
FilhoDoRei
JavaTeenager
[Avatar]

Membro desde: 13/03/2008 19:52:45
Mensagens: 199
Localização: Taguatinga
Offline

Valeu Gustavo tirou uma duvida minha tb.

This message was edited 2 times. Last update was at 11/04/2008 07:45:58


"Sei que voce não entende
A profundidade do Meu amor
Como morri na cruz pelos teus pecados
E sei que você não compreende
O quanto te dei
Mas prometo, faria tudo isso novamente".


[WWW] [Yahoo!] aim icon [MSN] [ICQ]
rmalati
Virtual Machine Man
[Avatar]

Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline

GustavoLaguna wrote:Bom, aqui no livro que estou lendo o exemplo que você citou está no tópico "Return Types on Overloaded Methods".



Já o do tópico "Overriding and Return Types, and Covariant Returns" seria este.


Abraço


A parte do livro que eu to falando é do capítulo 2 (livro português) pag 75 - A sobrescrição e os Tipos de Retorno; e Retornos covariantes.

Eu resolvi fazer um teste no Eclipse e este tipo de retorno não rola.
- The returns type is imcompatible with Foo.go()

Rodrigo Malatesta Barbosa
Graduando em Tecnologia Informática Unicamp
SCJP 1.6 - 93%

"A disciplina é o caminho mais curto para o sucesso"
"Se não puder destacar pelo talento, vença pelo esforço. (Provérbio indiano)"
[Email] [MSN]
GustavoLaguna
JavaTeenager
[Avatar]

Membro desde: 06/04/2006 15:58:47
Mensagens: 162
Localização: Mirassol/SP
Offline

Beleza
jimmyhc
JavaTeenager
[Avatar]

Membro desde: 08/03/2007 21:27:12
Mensagens: 164
Localização: Porto Alegre - RS
Offline


Oq o rmalati falou proceedi mesmo.

Estou usando a versão 1.6 do java. O exemplo deveria funcionar e nao funciona!

[Email] [MSN]
Denys20
What is classpath?
[Avatar]

Membro desde: 29/04/2009 10:04:20
Mensagens: 5
Offline

Affz eu tbm fiquei com essa duvida ....
Como o rmalati disse ... o codigo da pagina 75 não compila no eclipse
Tentei ate mudar a fonte para 1.5 (pois la diz que nessa versão aquele tipo de sobrescrição era permitido xD)




Mais da o mesmo erro :
attemping to use incompatible return types

This message was edited 1 time. Last update was at 29/04/2009 10:15:19


Estudando para SCJP =]

O Senhor é o meu pastor , e nada me faltará ...
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Puxa vida, o código não é para compilar mesmo. Está errado, e há uma errata (correção) do livro. Se você tivesse lido desde o começo teria visto que é só um erro do livro.
[WWW]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team