Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

01100011cc

Diagrama de classes, UML

Recommended Posts

Venho tentando aprender uml 2.0, procuro na google e coisa e tal, porem em todos os sites que foi a setas das relações de classes eram muito pouco, dai fiquei meio perdido no astah...

 

Vejam a imagem:

 

 

classdiagram0c.jpg

 

Dai me surge a duvida sobre algumas setas, como por exemplo:

 

class4 p/ class5

class6 p/ class7

class16/ class17

 

diferenças de :

 

class8 p/ class9 e class10 p/ class11

class12 p/ class13 e class14 p/ class15

 

quais a diferença da interface 2 , 6 e 7

e diferença de seta class1 p/ interface1 e class3 p/ inteface2

 

 

Alguem poderia me dar uma luz ?

Indicar um site onde tenhas tais informações completas tambem ajudaria...

Compartilhar este post


Link para o post
Compartilhar em outros sites

class4 p/ class5

class6 p/ class7

Ambas são associações. Uma associação se dá quando um objeto mantém uma referência para uma instância de outro objeto. A diferença entre ambas é a questão da navegabilidade de cada lado da associação, quer dizer, se a partir de um objeto, eu posso enxergar o outro.

 

No caso, entre 4 e 5, objetos de [inline]class4[/inline] possui uma instância de [inline]class5[/inline] (logo, desde 5, podemos "navegar" até 4), mas os objetos de [inline]class5[/inline] nem se quer conhecem [inline]class4[/inline], então, essa ponta não é navegável, por isso a marca com o 'x' ali. Entretanto, mesmo sem esse 'x', significaria a mesma coisa.

 

No caso seguinte, a associação é bidirecional, ou seja, a partir de [inline]class6[/inline] podemos chegar em [inline]class7[/inline] e o contrário também é possível.

class16/ class17

Aí são dois casos.

 

No primeiro, é uma relação de generalização (herança). No caso, [inline]class17[/inline] é uma generalização de [inline]class16[/inline], ou, como é mais comum dizer, [inline]class16[/inline] é uma especialização de [inline]class17[/inline].

 

No segundo, é uma relação de aninhamento, ou seja, a classe [inline]class16[/inline] é declarada dentro do escopo da classe [inline]class17[/inline]. Linguagens como Java permitem esse tipo de declaração.

quais a diferença da interface 2 , 6 e 7

Entre 2 e 6 a diferença é apenas de notação. Ambas são interfaces implementadas, enquanto 7 é uma interface requerida. Esta última é utilizada quando você quer apenas representar que ela existe, mas não quer incluí-la no diagrama.

e diferença de seta class1 p/ interface1 e class3 p/ inteface2

A primeira é uma relação de dependência, quer dizer, que a classe depende daquela interface para algumam coisa, talvez receba um objeto dela como parâmetro, talvez crie uma instância dessa interface, talvez obtenha um objeto dessa interface para uso através de outras classes.

 

A seguinda é uma relação de realização, que é similar à relação de especialização (herança). Usar essa relação significa que a classe cumprirá o "contrato" imposto pela interface, quer dizer, implementará todos os seus métodos públicos.

 

Basicamente é isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.