Voltando aos diagramas de classe, eles representam classes (atributos e métodos) e as relações entre elas.
Classes são representadas por retângulos com três divisões onde a primeira contém o nome da classe, a segunda os atributos e a terceira os métodos. Os modificadores de acesso são especificados por:
+ (public), # (protected), ~ (package protected) e - (private).
Classes e métodos abstratos tem o nome (argumentos e tipo de retorno) grafados em itálico.
Quando há mais de uma classe elas podem se relacionar:
- Dependência: uma classe usa (os métodos de) outra (em geral não há armazenamento como atributo);
- Associação: uma classe contém um atributo que é instância de outra classe, mas não está definido quem contém quem;
- Agregação: uma classe contém (é proprietária de) um atributo que é instância de outra classe e faz sentido compartilhar esse atributo;
- Composição: uma classe contém (é proprietária de) um atributo que é instância de outra classe e não faz sentido compartilhar esse atributo;
- Generalização (Herança): uma classe é um tipo de outra classe.
um para um: 1...1
um para muitos: 1...*
muitos para um: *...1
muitos para muitos: *...*
Fonte: MILES, R. HAMILTON, K. - Learning UML 2.0 - 2006, O'Reilly - ISBN 978-0-596-00982-3
Nenhum comentário:
Postar um comentário