Análise Orientada a Objetos  Objetos e Classes
“ Uma nova maneira de pensar os problemas utilizando conceitos do Mundo Real. O componente fundamental é o OBJETO que combina estrutura e comportamento em uma única entidade” [Raumbaugh] “ Um sistema orientado a objetos é uma coleção de objetos que interagem entre si” [Bertrand Meyer]   Análise Orientada a Objetos
As Bases da Orientação a Objetos Correspondência com o mundo real  Modularidade dos componentes  Objetos com finalidade própria Permite a combinação destes Objetos Baixa dependência externa Alta coesão interna Fácil ampliação do objeto Permite reuso dos objetos Encapsulamento
Conceitos Básicos -  Objeto   Objeto é: “ É um elemento do mundo real” [José Davi Furlan] Possui um comportamento e atributos. O  comportamento  é a forma com que reage a estímulos e os  atributos  são suas características, que podem mudar de acordo com seu comportamento.
Exemplos: Concretos:  pessoa, lápis, carro, etc. Intangíveis:  hora, projeto, organização, etc. Personagem:  médico, professor, etc. Relacional:  casamento, parceiro, propriedade. Evento:  venda, defeito do sistema. Interface Gráfica:  janela, ícone, botão. Conceitos Básicos -  Objeto
Conceitos Básicos -  Objeto  Exemplos:   Um Documento   Uma pessoa Um meio de Transporte Uma Região
Identidade : É o nome do objeto. Cada objeto é único. Exemplo:  Aluno João, José, Maria... Componentes de um  Objeto
Atributos (Características): É um conjunto de propriedades de um Objeto que podem mudar com o tempo. Exemplos:  Idade de uma Pessoa Saldo de um Cliente Quantidade de Alunos de uma Turma Se uma Pessoa está Falando (s/n) Componentes de um  Objeto
Comportamento (Operações ou Métodos): Lógica contida em um objeto para designar-lhe um comportamento. É como o objeto responde a outro objeto. Também chamado de Método, Comportamento, Procedimento, Função, etc. Exemplo: adicionarAluno calcularSaldoDevedor Componentes de um  Objeto
Conceitos Básicos - Objeto  Exemplos:   Ordem de Produção Mensagem de Solicitação Matéria-Prima Processo Produtivo Operações Atributos Produto Final Mensagem de Resposta
Conceitos Básicos - Classe É uma coleção de objetos É a descrição formal de um conjunto de objetos Objetos que obedecem à mesma especificação
Exemplos: Classe – Veículo Objeto da Classe – Mercedes do Bruno Classe – Pessoa Objeto da Classe – João   Obs.: Um objeto também é chamado de  instância  da classe . Conceitos Básicos - Classe
Definição É um conjunto de Objetos que possuem estados semelhantes (mesma lista de atributos), comportamento comum (mesmas operações) e relacionamentos comuns com outros objetos. “ A estrutura de um software é formada pelas classes do sistema. Analogamente ao esqueleto dos animais, as classes formam uma armação que dá a sustentação e a forma ao sistema”   José Eduardo Deboni Classe
Computador Quantas classes podemos definir?   Exercício Antônio Carlos Carro Cachorro Ave TV
Atributos e Operações de um Objeto devem estar armazenados no próprio Objeto. Dizemos que eles estão encapsulados no Objeto.  A função do encapsulamento é proteger os dados do acesso descontrolado. O acesso é realizado por intermédio de mensagens (execução das operações) trocadas entre os objetos.  As operações funcionam como serviços que o objeto fornece ao mundo exterior.  Exemplo: Atributo – data do nascimento, Operação – cálculo da idade (data do nascimento) . Encapsulamento Dados Operação Operação Operação Objeto
TELEVISÃO   DVD Cada aparelho com suas funções A integração entre eles ocorre pela ligação da saída de um objeto à entrada do outro. Com isto o DVD pode usar a TELEVISÃO para reproduzir imagens. Exemplo: Encapsulamento
Definição:   Situação de um objeto em um dado instante do tempo.  Exemplo(s): Objeto:  Nota Fiscal Estado:  Emitindo Nota Fiscal Objeto:  Pizza Estado:  Entregando Pizza  Estado
Definição:   Uma solicitação entre objetos para invocar certa operação. Encapsulamento Ex: Informar idade da pessoa “Fulano de tal”.
A comunicação entre os objetos ocorre pela troca de mensagens Um objeto solicita informações de outro objeto para realizar suas funções Uma mensagem é a execução de uma operação Uma mensagem pode ou não enviar parâmetros para outro objeto, bem como receber ou não uma resposta do mesmo. Mensagens Dados Operação Operação Operação Objeto 1 Dados Operação Operação Operação Objeto 2 Dados Operação Operação Operação Objeto 3 Mensagem
É a capacidade de um novo objeto (filho) tomar (herdar) características e comportamentos de um objeto(pai) já existente.  Herança
É uma característica que as classes de objetos podem possuir de modo que uma classe pode ser gerada a partir de outra classe herdando dela suas propriedades (atributos, operações) A herança permite que as propriedades da classe mãe possam ser expandidas para a classe filha incluindo novas características O uso de herança permite criar classes mais genéricas  A herança aumenta a capacidade de reutilização das classes Herança
Exemplo 1: Classe pai – Automóvel Classe filha – Porshe   Porshe herda características e comportamentos da classe automóvel.   Atributos do Automóvel: Potência, capacidade de passageiros. Atributos do Porshe: Turbo. Herança
Exemplo 2: Classe pai  – Pessoa Classe filha – Cliente do Banco   Cliente   herda  características  e comportamentos da classe  Pessoa . Herança
Definição:   Classe que herda as características da Classe pai. É o mesmo que Classe filha.  Ex:  Classe: Árvore Subclasses: Ipê, Eucalipto, etc.  Subclasse
Herança Exemplo: Rádio Relógio Eletrodomésticos Hidráulicos Eletromecânicos Domésticos Elétricos Mecânicos Torneira Motor Elétrico TV DVD Equipamentos
Classes Nomes no Singular Sem hífen, tracinhos ou espaços Sem Preposições (de, para, do, com, etc) Não usar palavras desgastadas (Tabela, Cadastro, etc) Para vários nomes usar 1ª letra Maiúscula e demais minúsculas Exemplos: Cliente,  ProdutoEstoque,  PessoaJuridica   Padrões para Nomes de Classes
  Símbolos para uma classe
  Atributos Sem hífen, tracinhos ou espaços Sem Preposições (de, para, do, com, etc) 1ª letra minúscula (para o caso de vários nomes, a 1ª letra dos demais nomes devem ser maiúsculas). Exemplos: idade nomeCliente sldDevedor qtdAlunosMatriculados Padrões para Nomes de Atributos
  Operadores (Métodos) Sem hífen, tracinhos ou espaços Sem Preposições (de, para, do, com, etc) Verbos no infinitivo (...ar, ...er, ...ir, etc) Sempre colocar Verbo + Sujeito 1ª letra minúscula (para o caso de vários nomes, a 1ª letra dos demais nomes devem ser maiúsculas). Exemplos: calcularSaldoDevedor imprimirBoleto Padrões para Nomes de Operadores
Identifique as Classes e coloque atributos para os seguintes problemas: 1) Sistema de controle de uma biblioteca É um sistema de suporte para uma biblioteca A biblioteca empresta livros e revistas para clientes, que são registrados no sistema, no qual também estão registrados os livros e as revistas A biblioteca controla a compra de novos títulos. De títulos populares compra-se várias cópias. Livros antigos e revistas são removidos quando estão ultrapassados ou deteriorados Bibliotecário é um funcionário da biblioteca que interage com os clientes e seu trabalho   é auxiliado pelo sistema Exercícios
(continuação) Um cliente pode reservar um livro ou revista que não está disponível no momento na biblioteca, de forma que quando ele for devolvido ou comprado pela biblioteca, o cliente é avisado. A reserva é cancelada quando o cliente retira o livro ou revista, ou através de um processo exclusivo de cancelamento A biblioteca pode facilmente criar, atualizar, e apagar informações sobre seus títulos, clientes, empréstimos, e reservas no sistema O sistema pode rodar em todos os ambientes populares (UNIX, Linux, windows, etc) e tem uma interface gráfica (GUI) moderna O sistema deve ser facilmente estendido com novas funcionalidades O sistema deve lidar com a mensagem que é enviada ao cliente quando um título reservado torna-se disponível, e precisa checar se um determinado título está ultrapassado ou deteriorado. Exercícios
2) Si stema de controle de uma máquina que vende Coca-Cola O sistema deve estar preparado para receber e conferir o dinheiro colocado pelo Cliente, inclusive para dar o troco. Deve controlar a recarga de refrigerantes pelo Técnico, bem como o recolhimento do dinheiro da máquina. Exercícios
3) Si stema Bancário Um cliente poderá abrir uma conta, depositar, fazer saques (manual e automático), consultar saldo, alterar sua senha e aplicar em fundos (em terminais ou Internet). O gerente fará a abertura da conta e a consulta ao saldo do cliente. O caixa fará o saque manual, a alteração da senha e a consulta ao saldo.     Exercícios
O Diagrama de classes mostra as classes de um sistema e seus relacionamentos.   Representação Gráfica O símbolo gráfico utilizado para representar uma classe é uma caixa, possivelmente dividida em compartimentos.   Diagrama  de Classes
  Esses compartimentos são utilizados em diferentes situações, dependendo se a classe pertence a um modelo de análise, design ou implementação.  O primeiro compartimento é chamado de compartimento do nome, contendo o nome da classe. Os compartimentos seguintes são chamados de compartimentos de listas, podendo acomodar listas de atributos ou operações. Diagrama de  Classes
Compartimento de Atributos Utilizado para mostrar os atributos de uma classe. A sintaxe padrão para a descrição dos atributos nesse compartimento é:   nomeAtributo: tipoAtributo Diagrama de Classes
Compartimento de Operadores (Métodos) Mostra as operações definidas para uma classe e/ou os métodos supridos por uma classe.  Sua sintaxe padrão é: n omeOperacao (lista de parâmetros): tipoParametroRetorno     Cada elemento da lista de parâmetros tem a seguinte sintaxe: TipoParametro nomeParametro Diagrama de Classes
Compartimento de Operadores (Métodos) Exemplo: Diagrama de  Classes
Relacionamento entre Classes   Classes e objetos podem estar conectados por algum tipo de relacionamento. Podem ser: Associações  Agregações Composições Generalizações (Herança) Diagrama de Classes -   Relacionamentos
Associações  Associações simples representam que existe alguma conexão entre dois elementos de uma classe, de tal forma que um deve manter alguma referência ao outro.  Associações simples são representadas na forma de uma linha cheia conectando as duas classes. As extremidades da associação podem possuir uma  multiplicidade .0 Diagrama de Classes -   Relacionamentos
Associações  Exemplo(s): Diagrama de Classes -   Relacionamentos
Agregação Agregações são um tipo especial de associação onde o elemento associado corresponde a uma parte do elemento principal.  Exemplo(s): Diagrama de Classes -   Relacionamentos
Composição   Composições são um tipo especial de agregação onde a parte indicada deve necessariamente existir. A diferença básica entre uma agregação e uma composição é que na agregação, o número de partes associadas à classe principal é variável e pouco importa.  No caso de uma composição, o número de objetos associados é definido, de tal forma que não faz sentido pensarmos o objeto da classe principal sem os objetos que o compõem.  O todo existe enquanto as partes também existem. Quando o objeto da classe principal for destruído, os objetos que o compõem necessariamente também o serão.  Diagrama de Classes -   Relacionamentos
Composição  Exemplo(s):   Parede Quarto Chão Janela Diagrama de Classes -   Relacionamentos
Classe de Associação Uma classe de associação é utilizada quando uma associação necessita de atributos e/ou operações. Uma classe de associação está ligada à associação entre duas classes. Exemplo(s): Diagrama de Classes -   Relacionamentos
Considere um programa para gerenciar clientes, empregados e fornecedores de uma empresa. Para cada tipo de objetos criamos uma classe com atributos e métodos. Exemplo Classes Pessoa e Empregado : Diagrama de Classes –  Generalização ou Herança Pessoa nome sexo devolveSexo() devolveNome() imprime() Empregado nome sexo salario devolveSexo() devolveNome() devolveSalario() atualizaSalario(sal) imprime()
Comparando as classes, observamos que: Ambas possuem os atributos  nome  e  sexo . Ambas oferecem os mesmos métodos para buscar o nome e o sexo ( devolveNome() , devolveSexo() ). A classe  Empregado  “adiciona” um novo atributo para armazenar o salário, e os métodos específicos de um empregado. Portanto podemos dizer que um empregado  é uma  pessoa com algumas “coisas” a mais. Seria interessante se não precisássemos repetir na classe  Empregado  o código comum à classe  Pessoa . Isto é possível se definirmos que a classe  Empregado   herda  as características da classe  Pessoa . Diagrama de Classes –   Generalização ou Herança
Representação Gráfica Diagrama de Classes –   Generalização ou Herança Empregado Pessoa
Exercícios   1.   Organize hierarquicamente em um diagrama as seguintes classes:  MembroDaUniversidade, Professor, Coordenador, Empregado, Ex-aluno, CorpoDiscente, AlunoDeGraduacao, AlunoDePosGraduacao, Funcionario, CorpoDocente. 2.      Organize hierarquicamente em um diagrama as seguintes classes:  VeiculoTerrestre, VeiculoAquático, VeiculoAutoMotor, Carro, Moto, Barco, NavioCargueiro, Caminhão, VeiculoAnfibio, Submarino, VeiculoAereo, Aviao, HidroAviao. Diagrama de Classes –   Generalização ou Herança
Fazer o Diagrama de Classes dos exercícios: Biblioteca Máquina Coca-Cola Sistema Bancário Diagrama de Classes –   Exercícios
Exemplo: Estudo de Caso 1 – Sistema de Empréstimos Exercícios: Estudo de Caso 2 – Revenda de Celulares Diagrama de Classes

Análise Orientada a Objetos - Objetos E Classes

  • 1.
    Análise Orientada aObjetos Objetos e Classes
  • 2.
    “ Uma novamaneira de pensar os problemas utilizando conceitos do Mundo Real. O componente fundamental é o OBJETO que combina estrutura e comportamento em uma única entidade” [Raumbaugh] “ Um sistema orientado a objetos é uma coleção de objetos que interagem entre si” [Bertrand Meyer]   Análise Orientada a Objetos
  • 3.
    As Bases daOrientação a Objetos Correspondência com o mundo real  Modularidade dos componentes  Objetos com finalidade própria Permite a combinação destes Objetos Baixa dependência externa Alta coesão interna Fácil ampliação do objeto Permite reuso dos objetos Encapsulamento
  • 4.
    Conceitos Básicos - Objeto Objeto é: “ É um elemento do mundo real” [José Davi Furlan] Possui um comportamento e atributos. O comportamento é a forma com que reage a estímulos e os atributos são suas características, que podem mudar de acordo com seu comportamento.
  • 5.
    Exemplos: Concretos: pessoa, lápis, carro, etc. Intangíveis: hora, projeto, organização, etc. Personagem: médico, professor, etc. Relacional: casamento, parceiro, propriedade. Evento: venda, defeito do sistema. Interface Gráfica: janela, ícone, botão. Conceitos Básicos - Objeto
  • 6.
    Conceitos Básicos - Objeto Exemplos: Um Documento Uma pessoa Um meio de Transporte Uma Região
  • 7.
    Identidade : Éo nome do objeto. Cada objeto é único. Exemplo: Aluno João, José, Maria... Componentes de um Objeto
  • 8.
    Atributos (Características): Éum conjunto de propriedades de um Objeto que podem mudar com o tempo. Exemplos: Idade de uma Pessoa Saldo de um Cliente Quantidade de Alunos de uma Turma Se uma Pessoa está Falando (s/n) Componentes de um Objeto
  • 9.
    Comportamento (Operações ouMétodos): Lógica contida em um objeto para designar-lhe um comportamento. É como o objeto responde a outro objeto. Também chamado de Método, Comportamento, Procedimento, Função, etc. Exemplo: adicionarAluno calcularSaldoDevedor Componentes de um Objeto
  • 10.
    Conceitos Básicos -Objeto Exemplos: Ordem de Produção Mensagem de Solicitação Matéria-Prima Processo Produtivo Operações Atributos Produto Final Mensagem de Resposta
  • 11.
    Conceitos Básicos -Classe É uma coleção de objetos É a descrição formal de um conjunto de objetos Objetos que obedecem à mesma especificação
  • 12.
    Exemplos: Classe –Veículo Objeto da Classe – Mercedes do Bruno Classe – Pessoa Objeto da Classe – João   Obs.: Um objeto também é chamado de instância da classe . Conceitos Básicos - Classe
  • 13.
    Definição É umconjunto de Objetos que possuem estados semelhantes (mesma lista de atributos), comportamento comum (mesmas operações) e relacionamentos comuns com outros objetos. “ A estrutura de um software é formada pelas classes do sistema. Analogamente ao esqueleto dos animais, as classes formam uma armação que dá a sustentação e a forma ao sistema”   José Eduardo Deboni Classe
  • 14.
    Computador Quantas classespodemos definir? Exercício Antônio Carlos Carro Cachorro Ave TV
  • 15.
    Atributos e Operaçõesde um Objeto devem estar armazenados no próprio Objeto. Dizemos que eles estão encapsulados no Objeto. A função do encapsulamento é proteger os dados do acesso descontrolado. O acesso é realizado por intermédio de mensagens (execução das operações) trocadas entre os objetos. As operações funcionam como serviços que o objeto fornece ao mundo exterior. Exemplo: Atributo – data do nascimento, Operação – cálculo da idade (data do nascimento) . Encapsulamento Dados Operação Operação Operação Objeto
  • 16.
    TELEVISÃO DVD Cada aparelho com suas funções A integração entre eles ocorre pela ligação da saída de um objeto à entrada do outro. Com isto o DVD pode usar a TELEVISÃO para reproduzir imagens. Exemplo: Encapsulamento
  • 17.
    Definição: Situação de um objeto em um dado instante do tempo. Exemplo(s): Objeto: Nota Fiscal Estado: Emitindo Nota Fiscal Objeto: Pizza Estado: Entregando Pizza Estado
  • 18.
    Definição: Uma solicitação entre objetos para invocar certa operação. Encapsulamento Ex: Informar idade da pessoa “Fulano de tal”.
  • 19.
    A comunicação entreos objetos ocorre pela troca de mensagens Um objeto solicita informações de outro objeto para realizar suas funções Uma mensagem é a execução de uma operação Uma mensagem pode ou não enviar parâmetros para outro objeto, bem como receber ou não uma resposta do mesmo. Mensagens Dados Operação Operação Operação Objeto 1 Dados Operação Operação Operação Objeto 2 Dados Operação Operação Operação Objeto 3 Mensagem
  • 20.
    É a capacidadede um novo objeto (filho) tomar (herdar) características e comportamentos de um objeto(pai) já existente. Herança
  • 21.
    É uma característicaque as classes de objetos podem possuir de modo que uma classe pode ser gerada a partir de outra classe herdando dela suas propriedades (atributos, operações) A herança permite que as propriedades da classe mãe possam ser expandidas para a classe filha incluindo novas características O uso de herança permite criar classes mais genéricas  A herança aumenta a capacidade de reutilização das classes Herança
  • 22.
    Exemplo 1: Classepai – Automóvel Classe filha – Porshe   Porshe herda características e comportamentos da classe automóvel.   Atributos do Automóvel: Potência, capacidade de passageiros. Atributos do Porshe: Turbo. Herança
  • 23.
    Exemplo 2: Classepai – Pessoa Classe filha – Cliente do Banco   Cliente herda características e comportamentos da classe Pessoa . Herança
  • 24.
    Definição: Classe que herda as características da Classe pai. É o mesmo que Classe filha. Ex: Classe: Árvore Subclasses: Ipê, Eucalipto, etc. Subclasse
  • 25.
    Herança Exemplo: RádioRelógio Eletrodomésticos Hidráulicos Eletromecânicos Domésticos Elétricos Mecânicos Torneira Motor Elétrico TV DVD Equipamentos
  • 26.
    Classes Nomes noSingular Sem hífen, tracinhos ou espaços Sem Preposições (de, para, do, com, etc) Não usar palavras desgastadas (Tabela, Cadastro, etc) Para vários nomes usar 1ª letra Maiúscula e demais minúsculas Exemplos: Cliente, ProdutoEstoque, PessoaJuridica Padrões para Nomes de Classes
  • 27.
  • 28.
      Atributos Semhífen, tracinhos ou espaços Sem Preposições (de, para, do, com, etc) 1ª letra minúscula (para o caso de vários nomes, a 1ª letra dos demais nomes devem ser maiúsculas). Exemplos: idade nomeCliente sldDevedor qtdAlunosMatriculados Padrões para Nomes de Atributos
  • 29.
      Operadores (Métodos)Sem hífen, tracinhos ou espaços Sem Preposições (de, para, do, com, etc) Verbos no infinitivo (...ar, ...er, ...ir, etc) Sempre colocar Verbo + Sujeito 1ª letra minúscula (para o caso de vários nomes, a 1ª letra dos demais nomes devem ser maiúsculas). Exemplos: calcularSaldoDevedor imprimirBoleto Padrões para Nomes de Operadores
  • 30.
    Identifique as Classese coloque atributos para os seguintes problemas: 1) Sistema de controle de uma biblioteca É um sistema de suporte para uma biblioteca A biblioteca empresta livros e revistas para clientes, que são registrados no sistema, no qual também estão registrados os livros e as revistas A biblioteca controla a compra de novos títulos. De títulos populares compra-se várias cópias. Livros antigos e revistas são removidos quando estão ultrapassados ou deteriorados Bibliotecário é um funcionário da biblioteca que interage com os clientes e seu trabalho é auxiliado pelo sistema Exercícios
  • 31.
    (continuação) Um clientepode reservar um livro ou revista que não está disponível no momento na biblioteca, de forma que quando ele for devolvido ou comprado pela biblioteca, o cliente é avisado. A reserva é cancelada quando o cliente retira o livro ou revista, ou através de um processo exclusivo de cancelamento A biblioteca pode facilmente criar, atualizar, e apagar informações sobre seus títulos, clientes, empréstimos, e reservas no sistema O sistema pode rodar em todos os ambientes populares (UNIX, Linux, windows, etc) e tem uma interface gráfica (GUI) moderna O sistema deve ser facilmente estendido com novas funcionalidades O sistema deve lidar com a mensagem que é enviada ao cliente quando um título reservado torna-se disponível, e precisa checar se um determinado título está ultrapassado ou deteriorado. Exercícios
  • 32.
    2) Si stemade controle de uma máquina que vende Coca-Cola O sistema deve estar preparado para receber e conferir o dinheiro colocado pelo Cliente, inclusive para dar o troco. Deve controlar a recarga de refrigerantes pelo Técnico, bem como o recolhimento do dinheiro da máquina. Exercícios
  • 33.
    3) Si stemaBancário Um cliente poderá abrir uma conta, depositar, fazer saques (manual e automático), consultar saldo, alterar sua senha e aplicar em fundos (em terminais ou Internet). O gerente fará a abertura da conta e a consulta ao saldo do cliente. O caixa fará o saque manual, a alteração da senha e a consulta ao saldo.     Exercícios
  • 34.
    O Diagrama declasses mostra as classes de um sistema e seus relacionamentos. Representação Gráfica O símbolo gráfico utilizado para representar uma classe é uma caixa, possivelmente dividida em compartimentos. Diagrama de Classes
  • 35.
      Esses compartimentossão utilizados em diferentes situações, dependendo se a classe pertence a um modelo de análise, design ou implementação. O primeiro compartimento é chamado de compartimento do nome, contendo o nome da classe. Os compartimentos seguintes são chamados de compartimentos de listas, podendo acomodar listas de atributos ou operações. Diagrama de Classes
  • 36.
    Compartimento de AtributosUtilizado para mostrar os atributos de uma classe. A sintaxe padrão para a descrição dos atributos nesse compartimento é:   nomeAtributo: tipoAtributo Diagrama de Classes
  • 37.
    Compartimento de Operadores(Métodos) Mostra as operações definidas para uma classe e/ou os métodos supridos por uma classe. Sua sintaxe padrão é: n omeOperacao (lista de parâmetros): tipoParametroRetorno   Cada elemento da lista de parâmetros tem a seguinte sintaxe: TipoParametro nomeParametro Diagrama de Classes
  • 38.
    Compartimento de Operadores(Métodos) Exemplo: Diagrama de Classes
  • 39.
    Relacionamento entre Classes Classes e objetos podem estar conectados por algum tipo de relacionamento. Podem ser: Associações Agregações Composições Generalizações (Herança) Diagrama de Classes - Relacionamentos
  • 40.
    Associações Associaçõessimples representam que existe alguma conexão entre dois elementos de uma classe, de tal forma que um deve manter alguma referência ao outro. Associações simples são representadas na forma de uma linha cheia conectando as duas classes. As extremidades da associação podem possuir uma multiplicidade .0 Diagrama de Classes - Relacionamentos
  • 41.
    Associações Exemplo(s):Diagrama de Classes - Relacionamentos
  • 42.
    Agregação Agregações sãoum tipo especial de associação onde o elemento associado corresponde a uma parte do elemento principal. Exemplo(s): Diagrama de Classes - Relacionamentos
  • 43.
    Composição   Composiçõessão um tipo especial de agregação onde a parte indicada deve necessariamente existir. A diferença básica entre uma agregação e uma composição é que na agregação, o número de partes associadas à classe principal é variável e pouco importa. No caso de uma composição, o número de objetos associados é definido, de tal forma que não faz sentido pensarmos o objeto da classe principal sem os objetos que o compõem. O todo existe enquanto as partes também existem. Quando o objeto da classe principal for destruído, os objetos que o compõem necessariamente também o serão. Diagrama de Classes - Relacionamentos
  • 44.
    Composição Exemplo(s):  Parede Quarto Chão Janela Diagrama de Classes - Relacionamentos
  • 45.
    Classe de AssociaçãoUma classe de associação é utilizada quando uma associação necessita de atributos e/ou operações. Uma classe de associação está ligada à associação entre duas classes. Exemplo(s): Diagrama de Classes - Relacionamentos
  • 46.
    Considere um programapara gerenciar clientes, empregados e fornecedores de uma empresa. Para cada tipo de objetos criamos uma classe com atributos e métodos. Exemplo Classes Pessoa e Empregado : Diagrama de Classes – Generalização ou Herança Pessoa nome sexo devolveSexo() devolveNome() imprime() Empregado nome sexo salario devolveSexo() devolveNome() devolveSalario() atualizaSalario(sal) imprime()
  • 47.
    Comparando as classes,observamos que: Ambas possuem os atributos nome e sexo . Ambas oferecem os mesmos métodos para buscar o nome e o sexo ( devolveNome() , devolveSexo() ). A classe Empregado “adiciona” um novo atributo para armazenar o salário, e os métodos específicos de um empregado. Portanto podemos dizer que um empregado é uma pessoa com algumas “coisas” a mais. Seria interessante se não precisássemos repetir na classe Empregado o código comum à classe Pessoa . Isto é possível se definirmos que a classe Empregado herda as características da classe Pessoa . Diagrama de Classes – Generalização ou Herança
  • 48.
    Representação Gráfica Diagramade Classes – Generalização ou Herança Empregado Pessoa
  • 49.
    Exercícios 1.   Organize hierarquicamente em um diagrama as seguintes classes: MembroDaUniversidade, Professor, Coordenador, Empregado, Ex-aluno, CorpoDiscente, AlunoDeGraduacao, AlunoDePosGraduacao, Funcionario, CorpoDocente. 2.     Organize hierarquicamente em um diagrama as seguintes classes: VeiculoTerrestre, VeiculoAquático, VeiculoAutoMotor, Carro, Moto, Barco, NavioCargueiro, Caminhão, VeiculoAnfibio, Submarino, VeiculoAereo, Aviao, HidroAviao. Diagrama de Classes – Generalização ou Herança
  • 50.
    Fazer o Diagramade Classes dos exercícios: Biblioteca Máquina Coca-Cola Sistema Bancário Diagrama de Classes – Exercícios
  • 51.
    Exemplo: Estudo deCaso 1 – Sistema de Empréstimos Exercícios: Estudo de Caso 2 – Revenda de Celulares Diagrama de Classes