orientação a objetos (1)
TRANSCRIPT
- 1. 1 O universo orientado a objetos.
2. Software complexo Naturalmente, nem todos. Considere aqueles que so! 3. Como lidar com a complexidade?
- Rotina a unidade
- Muitas variveis, funes
Dividindo o problema em partes Estruturado Orientado a Objetos
- Objeto unidade
- Une dados e funes
4. Interpretao 5. Como voc frita um ovo? 6. Como voc frita um ovo? Se voc respondeu algo como ... 1. Pego o ovo 2. Quebro o ovo e o deposito em uma panela 3. Levo a panela com leo e o ovo ao fogo 4. Aguardo at que fique bom Ento voc frita ovos de forma algortmica, estruturada! H algum problema? 7. Fritar um ovo de formaorientada a objetos exige ... Domnio da tecnologia Orientao a Objetos 8. Abordagem a ser empregada: Orientada a Objetos Estruturada Voc ou sua empresa provavelmente usa ou j usou esta abordagem! Problemas que no so complexos no precisam ser decompostos em partes. No precisam de anlie e projeto estruturados ou orientados a objetos.Nosso foco 9. Objeto = dados + funes Um objeto no uma rotina! 10. Rotina em Visual Basic Public Function Volume() As Double Return x * y * z End Function Uma boa,20 melhor ainda,mas 300 demais! 11. Estruturada x Orientada a Objetos
- nfase em processos
- ngase em dados (mais estveis)
Public Sub Volume() As Double Volume = x * y * z End Sub Rotina Objeto Pense nos processos! Pense nas coisas e nosprocessos que as manipulam! 12. Abstrao crescente
- Padres de bits
- Macros
- Assembly
- Procedimentos
- Tipos abstratos de dados
-
- Objetos, objetos de negcio, ...
- Orientao a objetos estende abstrao demtodos clssicos
13. Viso orientada a objetos (reunio) 14. Noes de classe e objeto Por simplicidade, consideremos apenas as cadeiras 15. Noes de classe e objeto
- Indstria X Cadeiras CostaFlex Custo: R$190,00 Peso: 5,6 Kg Carga: 150 Kg
- Software Classe Cadeira
16. Noes de classe e objeto 17. Noes de classe e objeto 18. Noes de classe e objeto 19. Do real para o orientado a objeto... c2 :Cadeira 20. Noes de classe e objeto Mundo do Software 21. Noes de classe e objeto 22. Noes de classe e objeto 23. Noes de classe e objeto 24. Noes de classe e objeto Modela (representa, retrata, facilita a manipulao) Mulher 25. Noes de classe e objeto 26. Noes de classe e objeto 27. Noes de classe e objeto 28. Noes de classe e objeto 29. Cada objeto possui seu prprio estado Custo cerca deR$70,00! Sabia? No sabia. Eu custo mais! R$300,00 30. Objetos compartilham comportamento 31. Mtodos (descrevem o comportamento)
- ClasseImpressora
- Mtodos
-
- ligar/desligar
-
- testar
-
- imprimirArquivo
-
- avancarPagina
-
- recuparPagina
-
- flushBuffer
-
- ...
32. Objetos reais e em software Mundo real Mundo virtual Instncias da classe Impressora (objetos de software) Instncias de impressoras (objetos reais) Fronteira imaginria (existe nas nossas cabeas) 33. Funcionrios 34. Mtodos (descrevem o comportamento)
- ClasseFuncionario
- Mtodos
-
- getSalario
-
- getFerias
-
- getTarefas
-
- getLocacao
35. Funcionrios reais e em software Mundo real Mundo virtual Fronteira imaginria (existe nas nossas cabeas) 36. Mensagem 37. Mensagem (detalhes) Anlise: 3min55s de conversa com profissional de RH (via telefone) Projeto orientado a objetos: 2min Significado: 1.GerenciaCargoenvia mensagemsetDescricaoAtividadesparaCargo 2.GerenciaCargoaguarda retorno da mensagem. 3.GerenciaCargoprossegue sua execuo aps retorno. 38. Viso Orientada a Objetos
-
- Objetos (instncias de classes)
-
- Mtodos (servios oferecidos)
-
- Mensagens (requisio de servios)
Conceitos bsicos 39. Aplicao orientada a objetos
- Aplicao uma coleo de objetos que trocam mensagens entre eles
Cenrio de troca de mensagens entre vrios objetos Classe do objetoobjN 40. Aplicao OO em Java (exemplo) public class Base { public void fazAlgumaCoisa() { System.out.println(fiz!); } } public class BaseTeste { public static void main(String[] args) { Base b = new Base(); b.fazAlgumaCoisa();} } 41. Aplicao OO em VB.NET (exemplo) Public Class BasePublic Sub fazAlgumaCoisa() Console.WriteLine(fiz!) End Sub End Class Public Class BaseTestePublic Sub main()base As Base = New Base(); base.fazAlgumaCoisa();} } 42. Resumo
- Objetos so instncias de classes
- Objetos no mundo real so representados em software por instncias de classes
- Classe inclui dados e comportamentos
- Objetos possuem seus prprios dados
- Objetos compartilham comportamento da classe
- Comportamento descrito via mtodos
- Chamar um mtodo enviar uma mensagem
- Aplicao OO um conjunto de objetos que trocam mensagens entre eles
43. Apenas diverso...