250 likes | 714 Views
Diagrama de Classes. Projeto 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. Diagrama de Classes UML. Classes de um sistema PDV.
E N D
Diagrama de Classes Projeto 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
Diagrama de Classes UML Classes de um sistema PDV Registradora tem Três Atributos Id vendaCorrentes localização
Diagrama de Classes UML • Resultado das associações em Código
Diagrama de Classes UML • Resultado de uma associação 1..* no código
Generalização Compartilhamento de características entre classes com base em um relacionamento hierárquico.
Generalização • 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 É 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 • 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
Todo-Parte • Agregação • 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.
Classes Associativas • É 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.
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.