aula de hoje

Propaganda
Introdução a Programação
Orientada a Objetos
Prof. Grace
Programação de computadores
2
Programação de computadores

Instruções para computadores realizar tarefas.

Linguagens de alto nível => linguagem de máquina

Paradigma de programação

3
–
Estruturado
–
Orientado a objetos
Mecanismos de tradução
–
Código compilado
–
Código interpretado
–
Recurso Just-in-time (JIT)
Mecanismo de tradução no JAVA
4
Programação Orientada a Objetos
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
Objetos e Classes


Mundo real está repleto de objetos
Agrupamos objetos semelhantes em classes
Carro
Pessoa
6
Em Programação Orientada a Objetos
Objeto
Classe
X
Abstração
Molde
7
Concreto
Ocorrência real
Instância
Membros de uma Classe
Uma classe é composta por:

Comportamentos ou

Métodos ou funções

Dados ou variáveis
operações

Características ou
OU
atributos
(modelo)
8
(implementação)
Encapsulamento

9
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
Relógio
Mostrar horário
(horas/ minutos/ segundos)
10
Várias tecnologias possíveis para máquina interna
(encapsulamento)
Interface para ajuste horas/ minutos/ segundos
(operações públicas)
Porque encapsular e ocultar?
-
-
-
Capacidade de usar sem conhecer detalhes
internos
Alterações na implementação não afetam cliente
-
11
Criamos classes para “clientes” (reuso)
Garantia de acesso seguro aos dados
Herança
12

Compartilham similaridades entre classes

Preservam suas diferenças

Podem compartilhar implementação de
código

Ou apenas a estrutura e os conceitos
Herança - Mamíferos
Mamar ( )
13
Herança X Polimorfismo
área( )
Formas
geométricas
área = π x r2
área = (b x h)/2
área = b x h
14
Linguagens O. O.







15
Simula 67
Smalltalk
C++
Java
Ruby
Python
C#
Linguagem Java

16
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”
Plataforma JAVA
17

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
Plataforma JAVA

18
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)
Ferramentas Integradas

IDE – Integrated Development Environment
–
–
–
–

Mais simples e leves:
–

JCreator; JGrasp; BlueJ;
Mais complexos e pesados:
–
19
Editor
Compilador
Execução
Debug
NetBeans; Eclipse;
Processo de desenvolvimento JAVA
20
Múltiplas plataformas
21
Tecnologias JAVA
22

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;
Novas Tecnologias
23

Java SE for Business;

Java Real-Time Systems;

Java Card Technology;

JavaFX: para aplicações interativas;

JavaFX Mobile;
Próxima aula

Introdução a programação Java
–
–
24
JGrasp
Exercícios em laboratório
Download