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