Diagrama de Classes Tipos de Diagramas UML Tipos de Diagramas UML Tipos de Diagramas UML Diagrama de Classes Descreve os tipos de objetos em um sistema e os tipos de relações estáticas entre eles . Mostra as propriedades e operações de classes Mostra as restrições envolvidas na conexão entre os objetos. Visibilidade • • • • + public - private ~ package # protected Estrutura de uma classe Atributos Regra Geral de Formação: Exemplo: {ordered} Atributos Derivados Métodos Regra Geral de Formação de Métodos: Regra Geral de Formação da Lista de Parâmetros: Exemplo Escopo Multiplicidade É a indicação de quantos objetos de um tipo existem em função de outro. Ex 1 0..1 * Associação Unidirecional Por meio de uma propriedade NÃO MUITO COMUM Por meio da ligação entre as classes MAIS COMUM •A seta indica a navegabilidade, direção da associação. Ex: uma ordem tem várias linhas • a propriedade + isPrepaid tem um Boolean. Associação Bidirecional Interpretação diagrama classes em Programação Notas e Comentários Dependência Conceitualmente a dependência ocorre quando não é possível existir a classe A sem que a classe B já exista. A dependência é representada por uma seta pontilhada Keywords de Dependência <<call>> a origem chama uma operação no destino <<create>> a origem cria instancias do destino <<instantiate>> a origem é uma instancia do destino <<permit>> o destino permite que a origem acesse suas caracteristicas privadas <<realize>> a origem é uma implementação de uma especificação ou de uma interface <<substitute>> a origem é substituivel pelo destino <<use>> a origem requer o destino para sua implementação Generalização / Especialização • Classes ( extends ) • Interfaces ( implements ) • Classes Abstratas ( implements ) Generalização / Especialização Interface : é uma classe que não tem implementação. Classe Abstrata : é uma classe que não pode ser diretamente instanciada. Ela contém métodos implementados e métodos apenas declarados. Devemos instanciar apenas uma instancia de uma subclasse Generalização / Especialização Generalização / Especialização Overriding Overloading Classificação Múltipla Classe de Associação Ou .... Enumeration Agregação Composição