| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/02/2010 01:49:29
|
deyvid
JavaChild
![[Avatar]](/images/avatar/19406b9f645610fda9a0f6f27bdac710.jpg)
Membro desde: 11/08/2006 19:34:07
Mensagens: 120
Offline
|
Letra B??? Alguém pode med dar um forcinha? Desde já agradeço
This message was edited 2 times. Last update was at 24/02/2010 02:04:43
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/02/2010 02:42:51
|
fuz1leiro
What is classpath?
Membro desde: 24/02/2010 02:37:07
Mensagens: 7
Offline
|
kra.. seguinte..
quando ele chama ((TestA)new TestB()).start() ele está chamando o método start da classe TestB..
mas como assim?
seguinte.. TestB subscreve o método start da classe TestA, então
quando temos um novo objeto de TestB, a versão subscrita é chamada.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/02/2010 09:05:16
|
zoren
GUJ Master
![[Avatar]](/images/avatar/9efbafef9f85fd9caa789941a4cdf821.jpg)
Membro desde: 30/06/2008 08:32:33
Mensagens: 1003
Offline
|
Ele criou uma instância da classe B e fez o cast da mesma para a ClasseA e invocou o método start que a classeB sobrescrevia
Note que isso só é possivel pois a classeB herda da CLasse A, vc pode tentar declarar métodos diferentes am ambas as classes pra ver como funciona
Se vc cria um objeto da classeA e instância como a classeB, esse objeto da classeA terá todas as caracteristicas da classeB, mas só os métodos que a classe A possui
os que não tem na classe A serão perdidos
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/02/2010 09:22:31
|
rmalati
Virtual Machine Man
![[Avatar]](/images/avatar/3bc8f7011e08bfe6830c967b497bdf6d.jpg)
Membro desde: 26/11/2007 09:10:30
Mensagens: 592
Localização: Jundiaí-SP
Offline
|
Isso é uma chamada polimórfica.
Usando uma variável de referência Pai(TestA) para um objeto Filho(TestB).
Como a classe filha TestB sobrescreveu o método herdado start() este será selecionado.
No tempo de execução o método será selecionado dinâmicamente baseado no tipo real do objeto, ou seja, o que foi criado após new.
Espero ter ajudado.
|
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)" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/02/2010 09:24:06
|
robinsonbsilva
Virtual Machine Man
![[Avatar]](/images/avatar/989652eef28bc49eec908063ba36a854.jpg)
Membro desde: 27/10/2004 12:01:50
Mensagens: 736
Offline
|
Bom dia Jovens,
Só para reforçar, "leve em consideração o objeto criado", que no nosso caso é .
Esse exercício confunde devido ao "cast" (TestA), mas "sempre tenha em mente que o que vale é o "objeto criado".
This message was edited 1 time. Last update was at 24/02/2010 09:25:05
|
Sun Certified Java Programmer Standard Edition 6.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2010 12:40:33
|
deyvid
JavaChild
![[Avatar]](/images/avatar/19406b9f645610fda9a0f6f27bdac710.jpg)
Membro desde: 11/08/2006 19:34:07
Mensagens: 120
Offline
|
Mas gente boa, não tinha que rolando um "upCast" ??? para a class TestA e logo o método da classe A?
Um abração pra todos
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2010 13:40:15
|
zoren
GUJ Master
![[Avatar]](/images/avatar/9efbafef9f85fd9caa789941a4cdf821.jpg)
Membro desde: 30/06/2008 08:32:33
Mensagens: 1003
Offline
|
Mesmo vc fazendo o cast, teve a implementação da classe B
É igual se vc fizesse
Vc só veria os métodos da ClassA, mas eles teriam a implementação da ClassB
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/02/2010 18:28:27
|
deyvid
JavaChild
![[Avatar]](/images/avatar/19406b9f645610fda9a0f6f27bdac710.jpg)
Membro desde: 11/08/2006 19:34:07
Mensagens: 120
Offline
|
Pois é zoren , mas você esta se referindo ao "downcast" o que entendi. Mas o problema é parace que esta fazendo "upcast" e é essa minha dúvida.
Um abração pra vocÊ
|
|
|
 |
|
|