Introdução a Programação Orientada a Objetos Prof. Grace
Programação de computadores
Programação de computadores <ul><li>Instruções para computadores realizar tarefas. </li></ul><ul><li>Linguagens de alto ní...
Mecanismo de tradução no JAVA
<ul><li>Programação modular (LEGO) </li></ul><ul><li>Componentes reutilizáveis => objetos </li></ul><ul><li>Abordagem cons...
Objetos e Classes <ul><li>Mundo real está repleto de objetos  </li></ul><ul><li>Agrupamos objetos semelhantes em classes <...
Em Programação Orientada a Objetos <ul><li>Classe </li></ul><ul><li>Abstração </li></ul><ul><li>Molde </li></ul>Objeto Con...
Membros de uma Classe <ul><li>Uma classe é composta por: </li></ul><ul><li>Comportamentos ou operações </li></ul><ul><li>C...
Encapsulamento <ul><li>O que é? </li></ul><ul><ul><li>Uma das principais características da P. O. O. </li></ul></ul><ul><u...
Relógio <ul><li>Mostrar horário </li></ul><ul><li>(horas/ minutos/ segundos) </li></ul><ul><li>Várias tecnologias possívei...
Porque encapsular e ocultar? <ul><li>Criamos classes para “clientes” (reuso) </li></ul><ul><li>Capacidade de usar sem conh...
Herança <ul><li>Compartilham similaridades entre classes </li></ul><ul><li>Preservam suas diferenças </li></ul><ul><li>Pod...
Herança - Mamíferos Mamar ( )
Herança X Polimorfismo Formas  geométricas área( ) área = (b x h)/2 área = b x h área =  π  x r 2
Linguagens O. O. <ul><li>Simula 67 </li></ul><ul><li>Smalltalk </li></ul><ul><li>C++ </li></ul><ul><li>Java </li></ul><ul>...
Linguagem Java <ul><li>Programas compostos por classes </li></ul><ul><ul><li>Programadas por nós, programadores </li></ul>...
Plataforma JAVA <ul><li>Ambiente computacional da  Sun  Microsystems   para execução e desenvolvimento de softwares indepe...
Plataforma JAVA <ul><li>Ambiente de desenvolvimento – JDK (Java Development Kit) </li></ul><ul><ul><li>Conjunto de utilitá...
Ferramentas Integradas <ul><li>IDE – Integrated Development Environment </li></ul><ul><ul><li>Editor </li></ul></ul><ul><u...
Processo de desenvolvimento JAVA
Múltiplas plataformas
Tecnologias JAVA <ul><li>Java SE – Java Standard Edition: básico </li></ul><ul><li>Java EE – Java Enterprise Edition: apli...
Novas Tecnologias <ul><li>Java SE for Business; </li></ul><ul><li>Java Real-Time Systems; </li></ul><ul><li>Java Card Tech...
Próxima aula <ul><li>Introdução a programação Java </li></ul><ul><ul><li>JGrasp </li></ul></ul><ul><ul><li>Exercícios em l...
Próximos SlideShares
Carregando em…5
×

Poo Aula 02

2.389 visualizações

Publicada em

Segunda aula de POO do 2o semestre de ADS da FATEC-SP - Professora Grace

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.389
No SlideShare
0
A partir de incorporações
0
Número de incorporações
10
Ações
Compartilhamentos
0
Downloads
124
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Poo Aula 02

  1. 1. Introdução a Programação Orientada a Objetos Prof. Grace
  2. 2. Programação de computadores
  3. 3. Programação de computadores <ul><li>Instruções para computadores realizar tarefas. </li></ul><ul><li>Linguagens de alto nível => linguagem de máquina </li></ul><ul><li>Paradigma de programação </li></ul><ul><ul><li>Estruturado </li></ul></ul><ul><ul><li>Orientado a objetos </li></ul></ul><ul><li>Mecanismos de tradução </li></ul><ul><ul><li>Código compilado </li></ul></ul><ul><ul><li>Código interpretado </li></ul></ul><ul><ul><li>Recurso Just-in-time (JIT) </li></ul></ul>
  4. 4. Mecanismo de tradução no JAVA
  5. 5. <ul><li>Programação modular (LEGO) </li></ul><ul><li>Componentes reutilizáveis => objetos </li></ul><ul><li>Abordagem considera novos conceitos: </li></ul><ul><ul><li>Classes e objetos </li></ul></ul><ul><ul><li>Encapsulamento </li></ul></ul><ul><ul><li>Herança e porlimorfismo </li></ul></ul><ul><li>Maior produtividade (reuso, modificação, correção) </li></ul><ul><li>Engloba a programação estruturada </li></ul>Programação Orientada a Objetos
  6. 6. Objetos e Classes <ul><li>Mundo real está repleto de objetos </li></ul><ul><li>Agrupamos objetos semelhantes em classes </li></ul>Pessoa Carro
  7. 7. Em Programação Orientada a Objetos <ul><li>Classe </li></ul><ul><li>Abstração </li></ul><ul><li>Molde </li></ul>Objeto Concreto Ocorrência real Instância X
  8. 8. Membros de uma Classe <ul><li>Uma classe é composta por: </li></ul><ul><li>Comportamentos ou operações </li></ul><ul><li>Características ou atributos </li></ul><ul><li>(modelo) </li></ul><ul><li>Métodos ou funções </li></ul><ul><li>Dados ou variáveis </li></ul><ul><li>(implementação) </li></ul>OU
  9. 9. Encapsulamento <ul><li>O que é? </li></ul><ul><ul><li>Uma das principais características da P. O. O. </li></ul></ul><ul><ul><li>Envolve atributos (dados) e operações (funções) numa única estrutura (objeto) </li></ul></ul><ul><ul><li>Permite ocultação de informações (visibilidade) </li></ul></ul><ul><ul><li>Comunicação por meio de uma interface pública </li></ul></ul><ul><ul><li>Ex.: Relógio </li></ul></ul>
  10. 10. Relógio <ul><li>Mostrar horário </li></ul><ul><li>(horas/ minutos/ segundos) </li></ul><ul><li>Várias tecnologias possíveis para máquina interna (encapsulamento) </li></ul><ul><li>Interface para ajuste horas/ minutos/ segundos (operações públicas) </li></ul>
  11. 11. Porque encapsular e ocultar? <ul><li>Criamos classes para “clientes” (reuso) </li></ul><ul><li>Capacidade de usar sem conhecer detalhes internos </li></ul><ul><li>Alterações na implementação não afetam cliente </li></ul><ul><li>Garantia de acesso seguro aos dados </li></ul>
  12. 12. Herança <ul><li>Compartilham similaridades entre classes </li></ul><ul><li>Preservam suas diferenças </li></ul><ul><li>Podem compartilhar implementação de código </li></ul><ul><li>Ou apenas a estrutura e os conceitos </li></ul>
  13. 13. Herança - Mamíferos Mamar ( )
  14. 14. Herança X Polimorfismo Formas geométricas área( ) área = (b x h)/2 área = b x h área = π x r 2
  15. 15. Linguagens O. O. <ul><li>Simula 67 </li></ul><ul><li>Smalltalk </li></ul><ul><li>C++ </li></ul><ul><li>Java </li></ul><ul><li>Ruby </li></ul><ul><li>Python </li></ul><ul><li>C# </li></ul>
  16. 16. Linguagem Java <ul><li>Programas compostos por classes </li></ul><ul><ul><li>Programadas por nós, programadores </li></ul></ul><ul><ul><li>Bibliotecas: Java API´s (Sun; outros fornecedores) </li></ul></ul><ul><li>Vantagem de reuso: não precisamos reinventar a roda </li></ul><ul><li>Desvantagem: a “roda” já existente pode não ser adequada => precisamos programar nossas “rodas” </li></ul>
  17. 17. Plataforma JAVA <ul><li>Ambiente computacional da Sun Microsystems para execução e desenvolvimento de softwares independentes de sistema operacional. </li></ul><ul><li>Ambiente de execução de aplicações Java – JRE (Java Runtime Environment) </li></ul><ul><ul><li>JVM (Java Virtual Machine) </li></ul></ul><ul><ul><li>API´s </li></ul></ul>
  18. 18. Plataforma JAVA <ul><li>Ambiente de desenvolvimento – JDK (Java Development Kit) </li></ul><ul><ul><li>Conjunto de utilitários para desenvolvimento de software para plataforma Java </li></ul></ul><ul><ul><li>Inclui: compilador (código fonte Java para bytecode) e o ambiente de execução JRE </li></ul></ul><ul><ul><li>Não inclui: ferramentas integradas de desenvolvimento (IDE) </li></ul></ul>
  19. 19. Ferramentas Integradas <ul><li>IDE – Integrated Development Environment </li></ul><ul><ul><li>Editor </li></ul></ul><ul><ul><li>Compilador </li></ul></ul><ul><ul><li>Execução </li></ul></ul><ul><ul><li>Debug </li></ul></ul><ul><li>Mais simples e leves: </li></ul><ul><ul><li>JCreator; JGrasp; BlueJ; </li></ul></ul><ul><li>Mais complexos e pesados: </li></ul><ul><ul><li>NetBeans; Eclipse; </li></ul></ul>
  20. 20. Processo de desenvolvimento JAVA
  21. 21. Múltiplas plataformas
  22. 22. Tecnologias JAVA <ul><li>Java SE – Java Standard Edition: básico </li></ul><ul><li>Java EE – Java Enterprise Edition: aplicações corporativas e Internet (inclui JSE) </li></ul><ul><li>Java ME – Java Micro Edition: dispositivos eletrônicos compactos e móveis; </li></ul>
  23. 23. Novas Tecnologias <ul><li>Java SE for Business; </li></ul><ul><li>Java Real-Time Systems; </li></ul><ul><li>Java Card Technology; </li></ul><ul><li>JavaFX: para aplicações interativas; </li></ul><ul><li>JavaFX Mobile; </li></ul>
  24. 24. Próxima aula <ul><li>Introdução a programação Java </li></ul><ul><ul><li>JGrasp </li></ul></ul><ul><ul><li>Exercícios em laboratório </li></ul></ul>

×