| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/11/2006 16:40:42
|
velo
GUJ Ranger
![[Avatar]](/images/avatar/32b991e5d77ad140559ffb95522992d0.jpg)
Membro desde: 19/02/2004 18:23:55
Mensagens: 797
Localização: Jaraguá do Sul - SC
Offline
|
Um colega de trabalho lançou uma questão aqui:
Que classe Man representa de maneira apropriada o relacionamento "O homem tem um melhor amigo que é um Cão"?
A) class Man extends Dog {}
B) class Man implements Dog {}
C) class Man { private Bestfriend dog; }
D) class Man { private Dog bestfriend; }
E) class Man { private Dog <bestfriend>; }
F) class Man { private BestFriend <dog>; }
Sendo que isso é no Java 5. Alguem sabe a resposta correta?
VELO
|
Use o melhor:
Linux para servidores
Macintosh para gráficos
Palm para mobilidade
Windows para jogar paciência
SCJP 5 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/11/2006 16:55:36
|
tmoretto
Debugger
![[Avatar]](/images/avatar/7296d81c3d5e425bc1785994bea8a0d2.jpg)
Membro desde: 08/05/2006 19:04:52
Mensagens: 56
Localização: Big Field
Offline
|
Se o homem tem HUM melhor amigo que é um CÃO, a resposta seria a D. Mas não tem pegadinha ai não né ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/11/2006 17:26:41
|
s4nchez
Virtual Machine Man
![[Avatar]](/images/avatar/bef4d169d8bddd17d68303877a3ea945.jpg)
Membro desde: 05/06/2006 11:35:55
Mensagens: 674
Localização: London, UK
Offline
|
Acredito que dependendo da finalidade deste código, mais de uma alternativa é válida.
"Apropriado" pra mim é aquilo que resolve o meu problema...
|
Ivan Sanchez | coding dojo | blog | twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/11/2006 17:36:13
|
tmoretto
Debugger
![[Avatar]](/images/avatar/7296d81c3d5e425bc1785994bea8a0d2.jpg)
Membro desde: 08/05/2006 19:04:52
Mensagens: 56
Localização: Big Field
Offline
|
s4nchez wrote:Acredito que dependendo da finalidade deste código, mais de uma alternativa é válida.
"Apropriado" pra mim é aquilo que resolve o meu problema...
Na verdade você teria no máximo duas alternativas, as duas primeiras jã caem fora, um "Homem" não extende (ou herda, como queiram) nem implementa um "Cão", e a E e a F não compilam.
Resta assim a C e a D.
A C não é algo claro. Bestfriend poderia ser uma interface ou uma classe abstrata, que o cão poderia implementar ou extender, vamos dizer assim. Mas não tem como saber se isto foi feito. E dessa forma um Elefante pode implementar ou herdar, e mesmo assim poderia ser o melhor amigo do "Homem", não respondendo a pergunta corretamente.
Mas claro, Bestfriend poderia ser um classe concreta, mas ela é um representa um Cão? Fica sinistro, não da certo.
Sobra a D, que é a alternativa mais fiél, o "Homem" agrega HUM "Cão". Já é o suficiente pra esclarecer o relacionamento.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/11/2006 17:38:56
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Vamos lá. Acho que a rigor nenhuma das alternativas está correta.
A) class Man extends Dog {}
= Homens são cães
B) class Man implements Dog {}
= Homens são, entre outros atributos, cães (pergunte isso para qualquer mulher )
C) class Man { private Bestfriend dog; }
= Homens têm um melhor amigo // não é porque o nome da variável é "dog" que deve haver um "dog" nessa variável
O correto seria algo como:
class Man { private Bestfriend friend = new Dog(); }
= Homens têm um melhor amigo que é um cão
Aqui suponho que "Dog implements Bestfriend"
D) class Man { private Dog bestfriend; }
= Homens têm um cão
E) class Man { private Dog <bestfriend>; }
= Sintaxe inválida
F) class Man { private BestFriend <dog>; }
= Sintaxe inválida
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/11/2006 17:51:46
|
velo
GUJ Ranger
![[Avatar]](/images/avatar/32b991e5d77ad140559ffb95522992d0.jpg)
Membro desde: 19/02/2004 18:23:55
Mensagens: 797
Localização: Jaraguá do Sul - SC
Offline
|
velo wrote:
"O homem tem um melhor amigo que é um Cão"?
C) class Man { private Bestfriend dog; }
Bom eu também escolhi a C.
|
Use o melhor:
Linux para servidores
Macintosh para gráficos
Palm para mobilidade
Windows para jogar paciência
SCJP 5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2006 03:24:30
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
NDA!
Estou com o Thingol, teria que ser assim:
class Man { private Bestfriend friend = new Dog(); }
= Homens têm um melhor amigo que é um cão
|
Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/ |
|
|
 |
|
|