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.217 visualizações

Publicada em

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

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

Nenhuma nota no slide
  • Joke: É muito mais fácil manipular uma abstração de uma mulher do que uma mulher real, não acham?
  • Cesta de frutas é uma coleção de objetos adequada para ilustrar polimorfismo e collections.
  • 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...

    ×