Estou com duvida na seguinte questão,
dei upload na imagem aqui para uma referencia (http://img94.imageshack.us/img94/3013/imagemqvl.jpg) : É uma questao UML
por exemplo, na imagem 1, o correto seria:
class Dog{
Cat c;
}
class Cat{
Dog d;
}
Correto neh?
agora na imagem 2, esta como correta essa opção…:
class A{
private B []b;
}
class B{}
SE FOSSE EU eu faria
class A{
B b[];
}
Class B{
A a;
}
Por que esta errado???
Gostaria de saber pq nao há nada dentro da classe B, igual na implementação da figura 1 ?
Nao entendi o por que =/
Muito obrigado!
é o *, ele indica “0 (zero) ou mais”
do seu jeito fica 1 pra 1. sacou?
flw
Exatamente o que o amigo aí em cima falou.
A classe A possui várias classes B, porém a classe B não possui a classe A.
Do jeito que vc fez…toda vez que fosse instãnciado a classe B vc precisatria ter uma classe A para fazer a associação.
[quote=Giulliano]Exatamente o que o amigo aí em cima falou.
A classe A possui várias classes B, porém a classe B não possui a classe A.
Do jeito que vc fez…toda vez que fosse instãnciado a classe B vc precisatria ter uma classe A para fazer a associação.
[/quote]
Nao, nao entendi mano =/
A classe A possui n B e a classe B possui 1 A … nao ?
A flecha indica navegabilidade. No caso, de ambos, A navega para B, mas não o contrário.
Portanto, em nenhuma situação deveria haver um atributo de B para A.
O primeiro código está errado. Deveria ser:
[code]
class Dog{
Cat c;
}
class Cat{
} [/code]
Se você quer dupla navegabilidade, retire as flechas.
[quote=ViniGodoy]A flecha indica navegabilidade. No caso, de ambos, A navega para B, mas não o contrário.
Portanto, em nenhuma situação deveria haver um atributo de B para A.
O primeiro código está errado. Deveria ser:
[code]
class Dog{
Cat c;
}
class Cat{
} [/code]
Se você quer dupla navegabilidade, retire as flechas.[/quote]
A sim… muito obrigado!