1 O universo é orientado a objetos.
Software é complexo Naturalmente, nem todos. Considere aqueles que são!
Como lidar com a complexidade? <ul><li>Rotina é a unidade </li></ul><ul><li>Muitas variáveis, funções </li></ul>Dividindo ...
Interpretação
Como você frita um ovo?
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...
Fritar um ovo de forma  orientada a objetos exige ... Domínio da tecnologia Orientação a Objetos
Abordagem a ser empregada: Orientada a Objetos Estruturada Você ou sua empresa provavelmente usa ou já usou esta abordagem...
Objeto = dados + funções Um objeto não é uma rotina!
Rotina em Visual Basic Public Function Volume() As Double Return x * y * z End Function Uma é boa,  20 é melhor ainda,  ma...
Estruturada x Orientada a Objetos <ul><li>Ênfase em processos </li></ul><ul><li>Êngase em dados (mais estáveis) </li></ul>...
Abstração crescente <ul><li>Padrões de bits </li></ul><ul><li>Macros </li></ul><ul><li>Assembly </li></ul><ul><li>Procedim...
Visão orientada a objetos (“reunião”)
Noções de classe e objeto Por simplicidade, consideremos apenas as cadeiras
Noções de classe e objeto <ul><li>Indústria X Cadeiras CostaFlex Custo: R$190,00 Peso: 5,6 Kg Carga: 150 Kg </li></ul><ul>...
Noções de classe e objeto
Noções de classe e objeto
Noções de classe e objeto
Do real para o orientado a objeto... c2 :  Cadeira
Noções de classe e objeto “ Mundo do Software”
Noções de classe e objeto
Noções de classe e objeto
Noções de classe e objeto
Noções de classe e objeto Modela (representa, retrata, facilita a manipulação) Mulher
Noções de classe e objeto
Noções de classe e objeto
Noções de classe e objeto
Noções de classe e objeto
Cada objeto possui seu próprio estado Custo cerca de  R$70,00! Sabia? Não sabia. Eu custo mais! R$300,00
Objetos compartilham comportamento
Métodos (descrevem o comportamento) <ul><li>Classe  Impressora </li></ul><ul><li>Métodos </li></ul><ul><ul><li>ligar/desli...
Objetos reais e em software Mundo real Mundo virtual Instâncias da classe Impressora (objetos de software) Instâncias de i...
Funcionários
Métodos (descrevem o comportamento) <ul><li>Classe  Funcionario </li></ul><ul><li>Métodos </li></ul><ul><ul><li>getSalario...
Funcionários reais e em software Mundo real Mundo virtual Fronteira imaginária (existe nas nossas cabeças)
Mensagem
Mensagem (detalhes) Análise: 3min55s de conversa com profissional de RH (via telefone) Projeto orientado a objetos: 2min S...
Visão Orientada a Objetos <ul><ul><li>Objetos (instâncias de classes) </li></ul></ul><ul><ul><li>Métodos (serviços ofereci...
Aplicação orientada a objetos <ul><li>Aplicação é uma coleção de objetos que trocam mensagens entre eles </li></ul>Cenário...
Aplicação OO em Java (exemplo) public class Base {   public void fazAlgumaCoisa() {   System.out.println(“fiz!”); } } publ...
Aplicação OO em VB.NET (exemplo) Public Class Base    Public Sub fazAlgumaCoisa()   Console.WriteLine(“fiz!”) End Sub End ...
Resumo <ul><li>Objetos são instâncias de classes </li></ul><ul><li>Objetos no mundo real são representados em software por...
Apenas diversão...
Próximos SlideShares
Carregando em…5
×

Orientação a Objetos (1)

1.228 visualizações

Publicada em

  • Seja o primeiro a comentar

Orientação a Objetos (1)

  1. 1. 1 O universo é orientado a objetos.
  2. 2. Software é complexo Naturalmente, nem todos. Considere aqueles que são!
  3. 3. Como lidar com a complexidade? <ul><li>Rotina é a unidade </li></ul><ul><li>Muitas variáveis, funções </li></ul>Dividindo o problema em partes Estruturado Orientado a Objetos <ul><li>Objeto é unidade </li></ul><ul><li>Une dados e funções </li></ul>
  4. 4. Interpretação
  5. 5. Como você frita um ovo?
  6. 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” Então você frita ovos de forma algorítmica, estruturada! Há algum problema?
  7. 7. Fritar um ovo de forma orientada a objetos exige ... Domínio da tecnologia Orientação a Objetos
  8. 8. Abordagem a ser empregada: Orientada a Objetos Estruturada Você ou sua empresa provavelmente usa ou já usou esta abordagem! Problemas que não são complexos não precisam ser decompostos em partes. Não precisam de análie e projeto estruturados ou orientados a objetos. Nosso foco
  9. 9. Objeto = dados + funções Um objeto não é uma rotina!
  10. 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. 11. Estruturada x Orientada a Objetos <ul><li>Ênfase em processos </li></ul><ul><li>Êngase em dados (mais estáveis) </li></ul>Public Sub Volume() As Double Volume = x * y * z End Sub Rotina Objeto Pense nos processos! Pense nas “coisas” e nos processos que as manipulam!
  12. 12. Abstração crescente <ul><li>Padrões de bits </li></ul><ul><li>Macros </li></ul><ul><li>Assembly </li></ul><ul><li>Procedimentos </li></ul><ul><li>Tipos abstratos de dados </li></ul><ul><ul><li>Objetos, objetos de negócio, ... </li></ul></ul><ul><li>Orientação a objetos estende abstração de métodos clássicos </li></ul>
  13. 13. Visão orientada a objetos (“reunião”)
  14. 14. Noções de classe e objeto Por simplicidade, consideremos apenas as cadeiras
  15. 15. Noções de classe e objeto <ul><li>Indústria X Cadeiras CostaFlex Custo: R$190,00 Peso: 5,6 Kg Carga: 150 Kg </li></ul><ul><li>Software Classe Cadeira </li></ul>
  16. 16. Noções de classe e objeto
  17. 17. Noções de classe e objeto
  18. 18. Noções de classe e objeto
  19. 19. Do real para o orientado a objeto... c2 : Cadeira
  20. 20. Noções de classe e objeto “ Mundo do Software”
  21. 21. Noções de classe e objeto
  22. 22. Noções de classe e objeto
  23. 23. Noções de classe e objeto
  24. 24. Noções de classe e objeto Modela (representa, retrata, facilita a manipulação) Mulher
  25. 25. Noções de classe e objeto
  26. 26. Noções de classe e objeto
  27. 27. Noções de classe e objeto
  28. 28. Noções de classe e objeto
  29. 29. Cada objeto possui seu próprio estado Custo cerca de R$70,00! Sabia? Não sabia. Eu custo mais! R$300,00
  30. 30. Objetos compartilham comportamento
  31. 31. 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>
  32. 32. Objetos reais e em software Mundo real Mundo virtual Instâncias da classe Impressora (objetos de software) Instâncias de impressoras (objetos reais) Fronteira imaginária (existe nas nossas cabeças)
  33. 33. Funcionários
  34. 34. Métodos (descrevem o comportamento) <ul><li>Classe Funcionario </li></ul><ul><li>Métodos </li></ul><ul><ul><li>getSalario </li></ul></ul><ul><ul><li>getFerias </li></ul></ul><ul><ul><li>getTarefas </li></ul></ul><ul><ul><li>getLocacao </li></ul></ul>
  35. 35. Funcionários reais e em software Mundo real Mundo virtual Fronteira imaginária (existe nas nossas cabeças)
  36. 36. Mensagem
  37. 37. Mensagem (detalhes) Análise: 3min55s de conversa com profissional de RH (via telefone) Projeto orientado a objetos: 2min Significado: 1. GerenciaCargo envia mensagem setDescricaoAtividades para Cargo 2. GerenciaCargo aguarda retorno da mensagem. 3. GerenciaCargo prossegue sua execução após retorno.
  38. 38. 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
  39. 39. Aplicação orientada a objetos <ul><li>Aplicação é 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
  40. 40. Aplicação 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. 41. Aplicação OO em VB.NET (exemplo) Public Class Base Public Sub fazAlgumaCoisa() Console.WriteLine(“fiz!”) End Sub End Class Public Class BaseTeste Public Sub main() base As Base = New Base(); base.fazAlgumaCoisa(); } }
  42. 42. Resumo <ul><li>Objetos são instâncias de classes </li></ul><ul><li>Objetos no mundo real são representados em software por instâncias de classes </li></ul><ul><li>Classe inclui dados e comportamentos </li></ul><ul><li>Objetos possuem seus próprios dados </li></ul><ul><li>Objetos compartilham comportamento da classe </li></ul><ul><li>Comportamento é descrito via métodos </li></ul><ul><li>Chamar um método é enviar uma mensagem </li></ul><ul><li>Aplicação OO é um conjunto de objetos que trocam mensagens entre eles </li></ul>
  43. 43. Apenas diversão...

×