Duvida na implentação a seguir (coisa simples)

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!