| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/02/2008 22:27:09
|
rmalati
Virtual Machine Man
![[Avatar]](/images/avatar/3bc8f7011e08bfe6830c967b497bdf6d.jpg)
Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline
|
Pessoal, o código abaixo
Bem a dúvida é a seguinte: Qual o motivo exatamente que a primeira referência não funciona?
Todo Gerente é um Funcionário, pois Gerente estende funcionário, então pq não compila?
Bateu uma grande dúvida agora.
Valeu.
|
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) 28/02/2008 22:37:51
|
dreamspeaker
GUJ Ranger
![[Avatar]](/images/avatar/c862890c3fd3e3d203580.jpg)
Membro desde: 22/04/2003 10:09:58
Mensagens: 752
Localização: SP - Capitar
Offline
|
Vc não pode converter um Funcionário pra Gerente. Um Gerente é um Funcionário (por isso a segunda associação funciona), mas nem todo Funcionário será um Gerente.
Nesse caso, vc precisa fazer um cast explicito.
This message was edited 1 time. Last update was at 28/02/2008 22:40:00
|
André Barbosa
Para de encher o saco e vai doar sangue!
twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/02/2008 00:16:38
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline
|
Isso funciona:
Agora, transformar um Funcionario (puro) em Gerente não rola. Vai gerar um ClassCastException.
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/02/2008 06:57:42
|
Andre Brito
JWizard
Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline
|
Nem todo funcionário é um gerente, certo?
Portanto, um funcionário que não seja gerente (na vida real), não "cabe" no cargo.
Já, todo gerente é um funcionário. Então todo gerente "cabe" num funcionário.
|
Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/02/2008 07:12:10
|
rmalati
Virtual Machine Man
![[Avatar]](/images/avatar/3bc8f7011e08bfe6830c967b497bdf6d.jpg)
Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline
|
dreamspeaker wrote:Vc não pode converter um Funcionário pra Gerente. Um Gerente é um Funcionário (por isso a segunda associação funciona), mas nem todo Funcionário será um Gerente.
Nesse caso, vc precisa fazer um cast explicito.
Agora ficou mais tranquilo.
Mas o que acontece quando se faz um cast explícito transformando um funcionário em gerente? É isso mesmo que eu entendi?
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)" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/02/2008 07:24:48
|
pardal_nb
Virtual Machine Man
Membro desde: 12/09/2006 08:26:06
Mensagens: 674
Offline
|
Você está por sua conta e risco...
para fazer um cast desse tipo vc tem q ter a certeza que está fazendo a coisa certo...(vc tem q ter certeza de q AQUELE funcionario É UM Gerente)
por exemplo, vc está recuperando um objeto do banco de dados e vc SABE q esse objeto é um Funcionario, então vc pode fazer o cast, senao será lancada uma exceçao
This message was edited 1 time. Last update was at 29/02/2008 07:25:23
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/02/2008 07:29:56
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline
|
Um cast é descoberto em tempo de compilação pois...
Perceba que eu posso ter um Funcionario que é um Gerente (Polimorfismo). Nesse caso eu posso fazer o cast "de volta". Agora um Funcionario "normal" não.
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/02/2008 08:14:24
|
LPJava
GUJ Hacker
Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline
|
pense dessa forma.. nem todo funcionario é gerente.. mais um gerente ele é funcionario..
Entao qdo vc diz ali, é pq nem todo funciona é gerente, vc na empresa tem o pessoal serviço gerais, a secretaria, o analista etc.. e todos sao funcionarios...
Ja no outro que funciona vc diz.. olha meu gerente é um funcionario q claro que sim...
Agora se vc fizer uma pesquisa no mundo da ADM vai ver que funcionrio nao existe mais agora é Colaborador rs.
Um exemplo semelhante: carro, moto todos sao veiculos.. mais nem todo veiculo.. é um carro, uma moto por exemplo :d
flw!
|
Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/02/2008 12:44:27
|
rmalati
Virtual Machine Man
![[Avatar]](/images/avatar/3bc8f7011e08bfe6830c967b497bdf6d.jpg)
Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline
|
Nossa galera, agora eu entendi mesmo!
Muito obrigado a todos vocês pela grande aula que me deram.
OO é difícil no princípio, mas depois que começa a entender os conceitos até que fica divertido.
Abração.
|
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) 29/02/2008 13:07:50
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline
|
rmalati wrote:Nossa galera, agora eu entendi mesmo!
Muito obrigado a todos vocês pela grande aula que me deram.
OO é difícil no princípio, mas depois que começa a entender os conceitos até que fica divertido.
Abração.
Vc vai ter uma surpresa quando descobrir o Duck Typing do Ruby
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/02/2008 21:16:53
|
rmalati
Virtual Machine Man
![[Avatar]](/images/avatar/3bc8f7011e08bfe6830c967b497bdf6d.jpg)
Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline
|
peczenyj wrote:
rmalati wrote:Nossa galera, agora eu entendi mesmo!
Muito obrigado a todos vocês pela grande aula que me deram.
OO é difícil no princípio, mas depois que começa a entender os conceitos até que fica divertido.
Abração.
Vc vai ter uma surpresa quando descobrir o Duck Typing do Ruby 
Ah já ouvi dizer muito bem do Ruby, mas é demais pra minha cabeça, deixa eu aprender Java primeiro. hehheehe.
Valeu.
|
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)" |
|
|
 |
|
|