Orientação a Objetos (2)

3.254 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
3.254
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
63
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Orientação a Objetos (2)

  1. 1. 2 O universo é orientado a objetos.
  2. 2. Cada objeto possui seu próprio estado Custo R$70,00! E quanto custo, será que ele se interessa por isso?
  3. 3. Noções de classe e objeto
  4. 4. Objetos compartilham comportamento
  5. 5. Métodos (descrevem o comportamento) <ul><li>Classe Impressora </li></ul><ul><li>Métodos </li></ul><ul><ul><li>Ligar/desligar </li></ul></ul><ul><ul><li>Testar </li></ul></ul><ul><ul><li>ImprimirArquivo </li></ul></ul><ul><ul><li>AvancarPagina </li></ul></ul><ul><ul><li>RecuparPagina </li></ul></ul><ul><ul><li>FlushBuffer </li></ul></ul><ul><ul><li>... </li></ul></ul>
  6. 6. Mensagem
  7. 7. Visão Orientada a Objetos <ul><ul><li>Objetos (instâncias de classes) </li></ul></ul><ul><ul><li>Métodos (serviços oferecidos) </li></ul></ul><ul><ul><li>Mensagens (requisição de serviços) </li></ul></ul>Conceitos básicos
  8. 8. Aplicação orientada a objetos <ul><li>Aplicação OO é uma coleção de objetos que trocam mensagens entre eles </li></ul>Cenário de troca de mensagens entre vários objetos Classe do objeto objN
  9. 9. Desenvolvimento Orientado a Objetos Como registrar?
  10. 10. Modelos precisam ser registrados <ul><li>Qual o material usado para imprimir fotografias do mundo OO? </li></ul>UML Há outras propostas:
  11. 11. Modelagem OO usando a UML <ul><li>Diagrama de classes </li></ul><ul><ul><li>Classes </li></ul></ul><ul><ul><li>Relacionamento entre as classes </li></ul></ul><ul><li>Diagrama de seqüência </li></ul><ul><ul><li>Objetos </li></ul></ul><ul><ul><li>Troca de mensagens entre objetos </li></ul></ul>
  12. 12. Interpretação de uma classe <ul><li>Pode se referir a um Conceito do mundo real </li></ul><ul><li>Entidade abstrata (software) </li></ul><ul><ul><li>Especificação </li></ul></ul><ul><ul><li>Implementação (representa uma classe em uma linguagem de programação) </li></ul></ul>
  13. 13. Exemplo (oficina mecânica) <ul><ul><ul><li>Uma ordem de serviço é uma composição de serviços. </li></ul></ul></ul><ul><ul><ul><li>Um serviço pode ser de Mecânica, Elétrica e Lanternagem. </li></ul></ul></ul>Um pedaço do mundo ... Modelado na UML
  14. 14. Exemplo (classes conceituais) <ul><li>SeuAmigo e Você são instâncias de Pessoa </li></ul><ul><li>Seu Seiko : instância de Relógio </li></ul><ul><li>Que horas são? : mensagem de SeuAmigo para Você </li></ul><ul><li>horaCorrente : mensagem de Você para Seu Seiko </li></ul>
  15. 15. Exemplo (classes de especificação)
  16. 16. Exemplo (classes de implementação)
  17. 17. Tecnologia de Objetos Solução dos problemas?
  18. 18. Problemas de desenvolvimento
  19. 19. Vantagens e desvantagens (OO) <ul><li>Vantagens </li></ul><ul><ul><li>Melhor modularidade, manutenção e qualidade </li></ul></ul><ul><ul><li>Modelos mais compreensíveis </li></ul></ul><ul><ul><li>Maior estabilidade e flexibilidade </li></ul></ul><ul><ul><li>Transição mais suave da análise para o projeto </li></ul></ul><ul><ul><li>Reutilização de código mais efetiva </li></ul></ul><ul><ul><li>Melhor comunicação </li></ul></ul><ul><li>Desvantagens </li></ul><ul><ul><li>Desempenho inferior </li></ul></ul><ul><ul><li>Não disponibilidade de SGDBs OO </li></ul></ul><ul><ul><li>Maior tempo inicial de desenvolvimento </li></ul></ul><ul><ul><li>Dificuldade em exibir benefícios e de aprender OO </li></ul></ul>Bibliografia – The Ups and Downs of Object-Oriented Systems Development, CACM, october 2000, vol. 43 (10), 69-73 Crenças
  20. 20. Principal argumento favorável <ul><li>Forma “mais natural e intuitiva” </li></ul><ul><li>Modela tanto o problema quanto a solução como um coleção de objetos </li></ul>Análise & Projeto são atividades típicas do desenvolvimento de software. Problema Solução Objetos
  21. 21. Representação mais conveniente
  22. 22. Para pensar ... Sucesso
  23. 23. Neste ponto... Talvez você não saiba muito sobre... desenvolvimento de software outras abordagens (p. ex.: estruturada) Talvez você esteja confuso sobre... os conceitos apresentados sobre as afirmações do professor há o que ler, praticar! então
  24. 24. Resumo <ul><li>Revisão da orientação a objetos </li></ul><ul><li>“ Principais recursos” da UML </li></ul><ul><ul><li>Diagrama de classe e diagrama de seqüência </li></ul></ul><ul><li>Vantagens e dificuldades da OO </li></ul><ul><li>Não perca... </li></ul><ul><ul><li>O que é código orientado a objetos? </li></ul></ul><ul><ul><li>Como criar modelos orientados a objetos? </li></ul></ul><ul><ul><li>Como desenvolver software orientado a objetos? </li></ul></ul><ul><ul><li>Quais os relacionamentos entre classes? </li></ul></ul>

×