ANÁLISE E PROJETO ORIENTADAS A OBJETOS (parte 2) UFRJ/IM/DCC Lab PSI mai/1999 Classe Indivíduo 2 Atributo Indivíduo + códigoDoIndivíduo : long + sexo : M ou F + dataDoNascimento : data ..... 3 Operação Indivíduo + incluirIndivíduo (códigoDoIndivíduo) + destruirIndivíduo (códigoDoIndivíduo) 4 Associação • Relacionamentos entre os objetos de uma ou mais classes Cliente 1 0..* Pedido 5 Número de Classes envolvidas • Associação Unária • Associação Binária • Associação n-ária 6 Associação Unária • Recursiva (dois objetos de uma mesma classes) • Reflexiva (um objeto consigo memo) * Localização Geográfica 1 7 Associação Binária Cliente 1 0..* Pedido 8 Associação n-nária Funcionário * Quesito * Projeto * Avaliação 9 Componentes da associação Classe A nome da associação papel-1 Classe B papel-2 associação derivada 10 Papéis • Multiplicidade • Espec. de interface • Ordenação • Mutabilidade • Qualificador • Visibilidade • Agregação/Composição • Generalização • Navegabilidade 11 Papéis (apresentação gráfica) {ordenado} 1 Classe A 0..* Classe B Possui Classe C Classe D 12 Nome da Associação Cliente 1 0..* Pedido Faz 13 Multiplicidade 1 Classe exatamente um Classe muitos (zero ou mais) Classe opcional (zero ou um) Classe seqüência especificada * 0..1 m..n 14 Ordenação {ordenado} Cliente 1 0..* Pedido Faz 15 Qualificador 0..1 Pedido Produto Pedido, item “...em conexão com um pedido pode haver um item de pedido para cada ocorrência de produto.” 16 Agregação Pedido 1 1..* Pedido, item Tem Todo Parte 17 Composição (agregação forte) Indivíduo, endereço 1 0..1 Tem Todo Indivíduo, complemento de endereço Parte 18 Navegabilidade fonte alvo Pedido Cliente * 1 {ordenado} sentido da navegação 19 Navegabilidade na agregação Todo unidirecional 1 0..* Parte 1 1 0..* bidirecional Parte 2 20 Generalização Superclasse Parte {disjunção} Indivíduo Organização Subclasses 21 Restrições para generalização / especifiicação {completo} : N é conhecido A {incompleto} : N não é conhecido {Restrição} B C N {disjunção} : B, C, N são mutuamente exclusivos {sobreposição} : B, C, N podem ocorrer simultaneamente 22 Exemplo Animal {disjunção, incompleto} Mamífero Ave Peixe 23 Herança múltipla Veículo {sobreposição, incompleto} Veículo terrestre Veículo aquático Veículo anfíbio 24 Herança Veículo terrestre parada ( ) partida ( ) {disjunção} Automóvel parada ( ) partida ( ) Caminhão parada ( ) partida ( ) 25