Diagrama de ClassesProjeto Orientado aos Objetos
Prof. Wolley W. Silva
Agenda
• Entender e Aplicar os relacionamentos entre classes:– Generalização (Herança)– Dependência– Todo-Parte• Agregação • Composição
– Classes Associativas
Classes de um sistema PDV
Diagrama de Classes UML
Registradora tem Três Atributos1. Id2. vendaCorrentes3. localização
• Resultado das associações em Código
Diagrama de Classes UML
• Resultado de uma associação 1..* no código
Diagrama de Classes UML
Generalização
Compartilhamento de características entre classes com base em um relacionamento hierárquico.
• Representado com uma linha sólida e uma seta triangular grande da subclasse para a superclasse.
Generalização
• Cada instância de uma subclasse é também uma instancia indireta de sua superclasse.
• Uma subclasse possui (herda) as características e os comportamentos de sua superclasse.
Generalização
Generalização
É umaÉ uma
Dependência entre Classes
• Um objeto utiliza recursos (atributos ou métodos) de outro objeto para executar o seu comportamento.
• uma modificação no objeto fornecedor pode afetar o comportamento e outros objetos.
Dependência entre Classes
Dependência entre Classes• Representada por uma linha tracejada, com uma seta
partindo do cliente para o fornecedor.• Método saque depende de um objeto da classe Contas
Dependência entre Classes
• Método ligar da classe ControleUniversal depende de um objeto da classe da classe AparelhoEletronico
Todo-Parte
• Informações de um objeto (todo) são completadas por informações contidas em outros objetos (parte) de outra classe.
• Agregação – Uma floresta é um agregado de árvores
• Composição– Uma pessoa e composta por cabeça, perna, braço
• Agregação
Todo-Parte
• Composição
Agregação
• As três características mais importantes da agregação todo-parte são:– O objeto todo (agregado) pode potencialmente
existir sem os seus objetos parte (constituintes).– Um objeto todo (agregado) pode estar associado
com vários objetos parte (constituintes). – A agregação tende a ter suas partes semelhantes.
Agregação• As partes da agregação podem fazer outras
coisas em outras partes da aplicação, eles podem ser referenciados por outros.
Composição
• As três características mais importantes da composição são;– O objeto todo (composto) não pode existir sem os
seus componentes.– Cada objeto parte (componente) pode estar
associado somente a um objeto todo (composto).– O objeto todo (composto) é formado por objetos
parte não semelhante.
Composição
• Não faz sentido existirem itens de nota fiscal sem existir uma nota fiscal onde tais itens estariam contidos.
Classes Associativas
• Uma classe associativa permite tratar uma associação em si como uma classe e modelá-la com atributos e operações.
• É uma classe que está ligada a uma associação, em vez de estar ligada a outras classes.
• É normalmente necessária quando duas ou mais classes estão associadas, e é necessário manter informações sobre esta associação.
Classes Associativas
Classes Associativas
Exercícios
• Objetivo: Identificas as classes do domínio descrito. Definir os relacionamentos de associação (agregação, composição) com as multiplicidades e herança.