Programação Orientada a Objetos – POO<br />Introdução e Conceitos<br />Janaina Scal Duia Castello<br />
Evolução das LP<br />Primeiro projeto de computador de uso geral<br />Por Charles Babbage, 1837<br />Primeira programadora...
Evolução das LP<br />Primeiras LP<br />Traduzem a linguagem de máquina (bits) para uma mais compreensível <br />Ex.: Assem...
Evolução das LP<br />Anos 60:<br />Eficiência computacional deixa de ser problema<br />Muda o foco das LP<br />Eficiência ...
Paradigmas<br />“É um conjunto de características que servem para caracterizar um conjunto de linguagens” <br />Flávio Mig...
Paradigma Estruturado<br />É uma forma de programação de computadores que preconiza que todos os programas possíveis podem...
Modularização<br />
Evolução das LP<br />Anos 80 e 90:<br />Computadores Pessoais<br />Muda o foco das LP novamente<br />Menor período de dese...
POO<br />Baseia-se nos conceitos:<br />Classe e subclasse<br />Hierarquia<br />Herança<br />Reutilização de códigos<br />E...
Herança<br />
Herança<br />“É a propriedade dos objetos que permite a criação de uma hierarquia entre eles, onde os descendentes herdam ...
Classe<br />Estrutura modular que descreve um conjunto de dados estruturados, atributos, e as funções capazes de manipulá-...
Superclasse e subclasse<br />Para uma classe ser uma subclasse de outra, esta deve conter todos os atributos e métodos de ...
Superclasse e subclasse<br />
Outras relações entre classes<br />
Objetos<br />São elementos de uma classe<br />Só podem acessar métodos<br /> de sua classe ou superclasses<br />Passagem d...
Polimorfismo<br />“É a propriedade de uma ou mais classes responderem a mesma mensagem cada uma de uma forma diferente” <b...
Herança e polimorfismo<br />
Encapsulamento<br />“É a capacidade de ocultar dados dentro de modelos, permitindo que somente operações especializadas ou...
Encapsulamento<br />Uso de funções privadas e públicas<br />Privadas: só a classe pode executar<br />Pública: qualquer cla...
Encapsulamento<br />
Encapsulamento<br />Abstrai de como os métodos são implementados<br />Usuário só sabe como passar os parâmetros e qual o t...
Comparações<br />Melhora a manutenção<br />Melhor a compreensão dos programas<br />Menos eficiente que outros paradigmas<b...
Duvidas?<br />
Upcoming SlideShare
Loading in …5
×

Seminário: Programação orientada a objetos

1,258 views

Published on

Apresentação sobre Programação Orientada a Objetos (POO) para a matéria Seminários do Curso de Eng. Elétrica da UFES.

É baseada no pdf de mesmo propósito.

A POO tem outras características interessantes, então pesquise mais ^^

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,258
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Seminário: Programação orientada a objetos

  1. 1. Programação Orientada a Objetos – POO<br />Introdução e Conceitos<br />Janaina Scal Duia Castello<br />
  2. 2. Evolução das LP<br />Primeiro projeto de computador de uso geral<br />Por Charles Babbage, 1837<br />Primeira programadora: Ada Lovelace.<br />100 anos depois aparece o primeiro computador de uso geral<br />
  3. 3. Evolução das LP<br />Primeiras LP<br />Traduzem a linguagem de máquina (bits) para uma mais compreensível <br />Ex.: Assembly<br />Foco na eficiência computacional<br />Memória <br />Processamento<br />Ex.: FORTRAN<br />
  4. 4. Evolução das LP<br />Anos 60:<br />Eficiência computacional deixa de ser problema<br />Muda o foco das LP<br />Eficiência dos programadores<br />Paradigma Estruturado:<br />Ex: Pascal e C<br />Conceitos de modularização<br />Ex.: MODULA e ADA <br />
  5. 5. Paradigmas<br />“É um conjunto de características que servem para caracterizar um conjunto de linguagens” <br />Flávio Miguel Varejão<br />
  6. 6. Paradigma Estruturado<br />É uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e interação”<br />Michael A. Jackson<br />
  7. 7. Modularização<br />
  8. 8. Evolução das LP<br />Anos 80 e 90:<br />Computadores Pessoais<br />Muda o foco das LP novamente<br />Menor período de desenvolvimento<br />Reutilização de códigos<br /> Manutenção.<br />Surge a POO<br />Ex.: Java, C++ e SMALLTALK<br />
  9. 9. POO<br />Baseia-se nos conceitos:<br />Classe e subclasse<br />Hierarquia<br />Herança<br />Reutilização de códigos<br />Encapsulamento<br />Abstração <br />Segurança de informação<br />Polimorfismo<br />
  10. 10. Herança<br />
  11. 11. Herança<br />“É a propriedade dos objetos que permite a criação de uma hierarquia entre eles, onde os descendentes herdam o acesso ao código e estruturas de dados dos seus ancestrais.” <br />Jackson Laskoski<br />
  12. 12. Classe<br />Estrutura modular que descreve um conjunto de dados estruturados, atributos, e as funções capazes de manipulá-los, métodos. <br />É caracterizada por <br />nome<br />superclasse<br />atributos<br />métodos<br />
  13. 13. Superclasse e subclasse<br />Para uma classe ser uma subclasse de outra, esta deve conter todos os atributos e métodos de sua superclasse, mas estes não precisam ser idênticos.<br />
  14. 14. Superclasse e subclasse<br />
  15. 15. Outras relações entre classes<br />
  16. 16. Objetos<br />São elementos de uma classe<br />Só podem acessar métodos<br /> de sua classe ou superclasses<br />Passagem de mensagens<br /> a objetos<br />
  17. 17. Polimorfismo<br />“É a propriedade de uma ou mais classes responderem a mesma mensagem cada uma de uma forma diferente” <br />Jackson Laskoski<br />
  18. 18. Herança e polimorfismo<br />
  19. 19. Encapsulamento<br />“É a capacidade de ocultar dados dentro de modelos, permitindo que somente operações especializadas ou dedicadas manipulem estes dados ocultos.” <br />R. Santos<br />
  20. 20. Encapsulamento<br />Uso de funções privadas e públicas<br />Privadas: só a classe pode executar<br />Pública: qualquer classe pode executar<br />Herança só se aplica a métodos públicos!<br />Atributos privados<br />Só os métodos das classes podem modificá-los.<br />Protege contra erros de programação.<br />
  21. 21. Encapsulamento<br />
  22. 22. Encapsulamento<br />Abstrai de como os métodos são implementados<br />Usuário só sabe como passar os parâmetros e qual o tipo de retorno<br />Conceito de caixa preta<br />Facilidade na manutenção<br />
  23. 23. Comparações<br />Melhora a manutenção<br />Melhor a compreensão dos programas<br />Menos eficiente que outros paradigmas<br />Pouco relevante devido ao auto poder de processamento atual<br />Desafio da mudança <br />Surgiu na década de 70 mas só foi ser utilizada nos últimos anos <br />Depende do método procedural<br />
  24. 24. Duvidas?<br />

×