Duvida....  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
velo
GUJ Ranger
[Avatar]

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
[Email] [MSN] [ICQ]
tmoretto
Debugger
[Avatar]

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é ?
[MSN]
s4nchez
Virtual Machine Man
[Avatar]

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
[WWW]
tmoretto
Debugger
[Avatar]

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.
[MSN]
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


[WWW]
velo
GUJ Ranger
[Avatar]

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
[Email] [MSN] [ICQ]
Ironlynx
Moderador
[Avatar]

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/
[WWW]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team