Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Análise Orientada a Objetos - Objetos E Classes

56,348 views

Published on

Apresentação sobre Análise Orientada a Objetos - Objetos e Classes

Published in: Technology

Análise Orientada a Objetos - Objetos E Classes

  1. 1. Análise Orientada a Objetos Objetos e Classes
  2. 2. <ul><ul><li>“ 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” </li></ul></ul><ul><ul><li>[Raumbaugh] </li></ul></ul><ul><ul><li>“ Um sistema orientado a objetos é uma coleção de objetos que interagem entre si” </li></ul></ul><ul><ul><li>[Bertrand Meyer] </li></ul></ul><ul><ul><li>  </li></ul></ul>Análise Orientada a Objetos
  3. 3. As Bases da Orientação a Objetos <ul><li>Correspondência com o mundo real </li></ul><ul><li> Modularidade dos componentes </li></ul><ul><li> Objetos com finalidade própria </li></ul><ul><li>Permite a combinação destes Objetos </li></ul><ul><li>Baixa dependência externa </li></ul><ul><li>Alta coesão interna </li></ul><ul><li>Fácil ampliação do objeto </li></ul><ul><li>Permite reuso dos objetos </li></ul><ul><li>Encapsulamento </li></ul>
  4. 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. 5. <ul><li>Exemplos: </li></ul><ul><li>Concretos: pessoa, lápis, carro, etc. </li></ul><ul><li>Intangíveis: hora, projeto, organização, etc. </li></ul><ul><li>Personagem: médico, professor, etc. </li></ul><ul><li>Relacional: casamento, parceiro, propriedade. </li></ul><ul><li>Evento: venda, defeito do sistema. </li></ul><ul><li>Interface Gráfica: janela, ícone, botão. </li></ul>Conceitos Básicos - Objeto
  6. 6. Conceitos Básicos - Objeto Exemplos: Um Documento Uma pessoa Um meio de Transporte Uma Região
  7. 7. Identidade : É o nome do objeto. Cada objeto é único. Exemplo: Aluno João, José, Maria... Componentes de um Objeto
  8. 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. 9. 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
  10. 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. 11. Conceitos Básicos - Classe <ul><li>É uma coleção de objetos </li></ul><ul><li>É a descrição formal de um conjunto de objetos </li></ul><ul><li>Objetos que obedecem à mesma especificação </li></ul>
  12. 12. <ul><li>Exemplos: </li></ul><ul><li>Classe – Veículo </li></ul><ul><li>Objeto da Classe – Mercedes do Bruno </li></ul><ul><li>Classe – Pessoa </li></ul><ul><li>Objeto da Classe – João </li></ul><ul><li>  </li></ul><ul><li>Obs.: Um objeto também é chamado de instância da classe . </li></ul>Conceitos Básicos - Classe
  13. 13. 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
  14. 14. Computador Quantas classes podemos definir? Exercício Antônio Carlos Carro Cachorro Ave TV
  15. 15. 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
  16. 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. 17. Definição: Situação de um objeto em um dado instante do tempo. <ul><li>Exemplo(s): </li></ul><ul><li>Objeto: Nota Fiscal Estado: Emitindo Nota Fiscal </li></ul><ul><li>Objeto: Pizza Estado: Entregando Pizza </li></ul>Estado
  18. 18. Definição: Uma solicitação entre objetos para invocar certa operação. Encapsulamento Ex: Informar idade da pessoa “Fulano de tal”.
  19. 19. <ul><li>A comunicação entre os objetos ocorre pela troca de mensagens </li></ul><ul><li>Um objeto solicita informações de outro objeto para realizar suas funções </li></ul><ul><li>Uma mensagem é a execução de uma operação </li></ul><ul><li>Uma mensagem pode ou não enviar parâmetros para outro objeto, bem como receber ou não uma resposta do mesmo. </li></ul>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. 20. É a capacidade de um novo objeto (filho) tomar (herdar) características e comportamentos de um objeto(pai) já existente. Herança
  21. 21. <ul><li>É 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) </li></ul><ul><li>A herança permite que as propriedades da classe mãe possam ser expandidas para a classe filha incluindo novas características </li></ul><ul><li>O uso de herança permite criar classes mais genéricas </li></ul><ul><li> A herança aumenta a capacidade de reutilização das classes </li></ul>Herança
  22. 22. <ul><li>Exemplo 1: </li></ul><ul><li>Classe pai – Automóvel </li></ul><ul><li>Classe filha – Porshe </li></ul><ul><li>  </li></ul><ul><li>Porshe herda características e comportamentos da classe automóvel. </li></ul><ul><li>  Atributos do Automóvel: </li></ul><ul><li>Potência, capacidade de passageiros. </li></ul><ul><li>Atributos do Porshe: </li></ul><ul><li>Turbo. </li></ul>Herança
  23. 23. <ul><li>Exemplo 2: </li></ul><ul><li>Classe pai – Pessoa </li></ul><ul><li>Classe filha – Cliente do Banco </li></ul><ul><li>  </li></ul><ul><li>Cliente herda características e comportamentos da classe Pessoa . </li></ul>Herança
  24. 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. 25. 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
  26. 26. <ul><li>Classes </li></ul><ul><li>Nomes no Singular </li></ul><ul><li>Sem hífen, tracinhos ou espaços </li></ul><ul><li>Sem Preposições (de, para, do, com, etc) </li></ul><ul><li>Não usar palavras desgastadas (Tabela, Cadastro, etc) </li></ul><ul><li>Para vários nomes usar 1ª letra Maiúscula e demais minúsculas </li></ul>Exemplos: Cliente, ProdutoEstoque, PessoaJuridica Padrões para Nomes de Classes
  27. 27.   Símbolos para uma classe
  28. 28.   <ul><li>Atributos </li></ul><ul><li>Sem hífen, tracinhos ou espaços </li></ul><ul><li>Sem Preposições (de, para, do, com, etc) </li></ul><ul><li>1ª letra minúscula (para o caso de vários nomes, a 1ª letra dos demais nomes devem ser maiúsculas). </li></ul>Exemplos: idade nomeCliente sldDevedor qtdAlunosMatriculados Padrões para Nomes de Atributos
  29. 29.   <ul><li>Operadores (Métodos) </li></ul><ul><li>Sem hífen, tracinhos ou espaços </li></ul><ul><li>Sem Preposições (de, para, do, com, etc) </li></ul><ul><li>Verbos no infinitivo (...ar, ...er, ...ir, etc) </li></ul><ul><li>Sempre colocar Verbo + Sujeito </li></ul><ul><li>1ª letra minúscula (para o caso de vários nomes, a 1ª letra dos demais nomes devem ser maiúsculas). </li></ul>Exemplos: calcularSaldoDevedor imprimirBoleto Padrões para Nomes de Operadores
  30. 30. <ul><li>Identifique as Classes e coloque atributos para os seguintes problemas: </li></ul><ul><li>1) Sistema de controle de uma biblioteca </li></ul><ul><li>É um sistema de suporte para uma biblioteca </li></ul><ul><li>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 </li></ul><ul><li>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 </li></ul><ul><li>Bibliotecário é um funcionário da biblioteca que interage com os clientes e seu trabalho é auxiliado pelo sistema </li></ul>Exercícios
  31. 31. <ul><li>(continuação) </li></ul><ul><li>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 </li></ul><ul><li>A biblioteca pode facilmente criar, atualizar, e apagar informações sobre seus títulos, clientes, empréstimos, e reservas no sistema </li></ul><ul><li>O sistema pode rodar em todos os ambientes populares (UNIX, Linux, windows, etc) e tem uma interface gráfica (GUI) moderna </li></ul><ul><li>O sistema deve ser facilmente estendido com novas funcionalidades </li></ul><ul><li>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. </li></ul>Exercícios
  32. 32. <ul><li>2) Si stema de controle de uma máquina que vende Coca-Cola </li></ul><ul><li>O sistema deve estar preparado para receber e conferir o dinheiro colocado pelo Cliente, inclusive para dar o troco. </li></ul><ul><li>Deve controlar a recarga de refrigerantes pelo Técnico, bem como o recolhimento do dinheiro da máquina. </li></ul>Exercícios
  33. 33. 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
  34. 34. 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
  35. 35.   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
  36. 36. 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
  37. 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. 38. Compartimento de Operadores (Métodos) Exemplo: Diagrama de Classes
  39. 39. <ul><li>Relacionamento entre Classes </li></ul><ul><li>Classes e objetos podem estar conectados por algum tipo de relacionamento. Podem ser: </li></ul><ul><ul><ul><li>Associações </li></ul></ul></ul><ul><ul><ul><li>Agregações </li></ul></ul></ul><ul><ul><ul><li>Composições </li></ul></ul></ul><ul><ul><ul><li>Generalizações (Herança) </li></ul></ul></ul>Diagrama de Classes - Relacionamentos
  40. 40. 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
  41. 41. Associações Exemplo(s): Diagrama de Classes - Relacionamentos
  42. 42. 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
  43. 43. 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
  44. 44. Composição Exemplo(s):   Parede Quarto Chão Janela Diagrama de Classes - Relacionamentos
  45. 45. 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
  46. 46. 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()
  47. 47. <ul><li>Comparando as classes, observamos que: </li></ul><ul><ul><ul><li>Ambas possuem os atributos nome e sexo . </li></ul></ul></ul><ul><ul><ul><li>Ambas oferecem os mesmos métodos para buscar o nome e o sexo ( devolveNome() , devolveSexo() ). </li></ul></ul></ul><ul><ul><ul><li>A classe Empregado “adiciona” um novo atributo para armazenar o salário, e os métodos específicos de um empregado. </li></ul></ul></ul><ul><ul><ul><li>Portanto podemos dizer que um empregado é uma pessoa com algumas “coisas” a mais. </li></ul></ul></ul><ul><ul><ul><li>Seria interessante se não precisássemos repetir na classe Empregado o código comum à classe Pessoa . </li></ul></ul></ul><ul><ul><ul><li>Isto é possível se definirmos que a classe Empregado herda as características da classe Pessoa . </li></ul></ul></ul>Diagrama de Classes – Generalização ou Herança
  48. 48. Representação Gráfica Diagrama de Classes – Generalização ou Herança Empregado Pessoa
  49. 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. 50. <ul><li>Fazer o Diagrama de Classes dos exercícios: </li></ul><ul><li>Biblioteca </li></ul><ul><li>Máquina Coca-Cola </li></ul><ul><li>Sistema Bancário </li></ul>Diagrama de Classes – Exercícios
  51. 51. Exemplo: Estudo de Caso 1 – Sistema de Empréstimos Exercícios: Estudo de Caso 2 – Revenda de Celulares Diagrama de Classes

×