A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Generalização e herança Agregação e composição

Apresentações semelhantes


Apresentação em tema: "Generalização e herança Agregação e composição"— Transcrição da apresentação:

1 Generalização e herança Agregação e composição
Diagrama de Classes Conceitos Generalização e herança Dependência Associação Classe-associação Agregação e composição João Araújo – AS2 

2 Conceitos Classe é uma descrição de um conjunto de objectos que têm os mesmos atributos, operações, relacionamentos e semântica Responsabilidade: é um contracto ou uma obrigação de uma classe. Ex.: Uma classe TemperatureSensor é responsável por medir a temperatura e activar o alarme se ela chegar a um determinado ponto Notação Classes são rectângulos com o nome no topo atributos na secção intermediária e operações na secção de baixo João Araújo – AS2 

3 Classe João Araújo – AS2 

4 Mecanismos Comuns Notas: contêm comentários ou restrições ligados a um elemento Estereótipo: extende o vocabulário do UML permitindo a criação de novos tipos de elementos semelhantes aos já existentes, porém específicos p/ o seu problema Ex.: <<interface>> Tagged value: é uma extensão das propriedades do UML e permite adicionar nova informação sobre um elemento. Ex.: {persistent} Restrição (Constraint): permite adicionar novas regras. Ex.: {18 < age < 35} João Araújo – AS2 

5 Generalização e herança
Classes podem ser organizadas em uma hierarquia onde uma classe (superclasse) é uma generalização de uma ou mais classes (subclasses) Uma subclasse herda os atributos e operações da superclasse e pode adicionar novos métodos Generalização em UML é implementada como herança nas OOP O desenho da hierarquia de classes é um processo difícil se se deseja evitar duplicação nos diferentes ramos João Araújo – AS2 

6 Generalização e herança
Vantagens da herança É um mecanismo de abstração p/ classificar entidades É um mecanismo de reutilização Problemas com a herança Classes só são compreendidas completamente com as superclasses Engenheiros tem a tendência de reutilizar o grafo de herança criado na análise. Isto pode levar à ineficiência João Araújo – AS2 

7 Herança e OOD Há visões diferentes se a herança é fundamental ao Desenho OO Visão 1. Identificar a hierarquia de herança é parte fundamental do DOO. A herança é um conceito útil p/ implementação que permite reutilizar definições de atributos e operações Visão 2. A herança introduz complexidade, o que não é desejável, especialmente em sistemas críticos. Identificar uma hierarquia de herança durante o desenho põe restrições desnecessárias à implementação João Araújo – AS2 

8 Hierarquia de classes numa biblioteca

9 Herança múltipla Herança múltipla
Uma classe pode herdar atributos e operações de várias superclasses Pode levar a conflitos quando atributos e operações de superclasses diferentes tem o mesmo nome e semânticas diferentes Torna a hierarquia de classes mais complexa João Araújo – AS2 

10 Dependência É um relacionamento que determina que uma mudança na especificação de uma classe pode afectar uma outra classe, mas não necessariamente o contrário João Araújo – AS2 

11 Associações em UML Objectos de uma classe estão conectados a objectos de outras classes Pode ter um nome que tem uma direcção Papel (role): quando uma classe participa numa associação ela desempenha um papel específico Multiplicidade: especificação do nº de elementos que que um conjunto pode assumir. Ex.: 1..*, *, 0..1, 3..9, 3..*, etc. Navegação: mostra como a partir de uma instância de uma classe se pode aceder a uma ou mais instâncias de outra classe João Araújo – AS2 

12 Associações worksFor João Araújo – AS2 

13 Classe-Associação Ocorre qdo a associação tem propriedades
João Araújo – AS2 

14 Agregação Mostra como classes são compostas de outras classes
É uma associação parte-de João Araújo – AS2 

15 Composição É uma forma de agregação onde há:
Forte pertença do todo com relação a parte As partes não podem existir sem o todo João Araújo – AS2 


Carregar ppt "Generalização e herança Agregação e composição"

Apresentações semelhantes


Anúncios Google