Your SlideShare is downloading. ×
0
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos  -   Objetos E Classes
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Análise Orientada a Objetos - Objetos E Classes

48,070

Published on

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

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

Published in: Technology
4 Comments
17 Likes
Statistics
Notes
No Downloads
Views
Total Views
48,070
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1,496
Comments
4
Likes
17
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Análise Orientada a Objetos Objetos e Classes
  • 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. 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. 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. <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. 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 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. 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 <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. <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. 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. Computador Quantas classes podemos definir? Exercício Antônio Carlos Carro Cachorro Ave TV
  • 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. 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. <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. Definição: Uma solicitação entre objetos para invocar certa operação. Encapsulamento Ex: Informar idade da pessoa “Fulano de tal”.
  • 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. É a capacidade de um novo objeto (filho) tomar (herdar) características e comportamentos de um objeto(pai) já existente. Herança
  • 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. <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. <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. 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ádio Relógio Eletrodomésticos Hidráulicos Eletromecânicos Domésticos Elétricos Mecânicos Torneira Motor Elétrico TV DVD Equipamentos
  • 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.   Símbolos para uma classe
  • 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.   <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. <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. <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. <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. 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. 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.   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. 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. 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. <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. 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. Associações Exemplo(s): Diagrama de Classes - Relacionamentos
  • 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. 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. Composição Exemplo(s):   Parede Quarto Chão Janela Diagrama de Classes - Relacionamentos
  • 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. 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. <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. Representação Gráfica Diagrama de 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. <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. Exemplo: Estudo de Caso 1 – Sistema de Empréstimos Exercícios: Estudo de Caso 2 – Revenda de Celulares Diagrama de Classes

×