Poo Aula 02

24
Introdução a Programação Orientada a Objetos Prof. Grace

description

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

Transcript of Poo Aula 02

Page 1: Poo Aula 02

Introdução a ProgramaçãoOrientada a Objetos

Prof. Grace

Page 2: Poo Aula 02

2

Programação de computadores

Page 3: Poo Aula 02

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: Poo Aula 02

4

Mecanismo de tradução no JAVA

Page 5: Poo Aula 02

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: Poo Aula 02

6

Objetos e Classes

Mundo real está repleto de objetos Agrupamos objetos semelhantes em classes

Pessoa

Carro

Page 7: Poo Aula 02

7

Em Programação Orientada a Objetos

Classe

Abstração

Molde

Objeto

Concreto

Ocorrência real

Instância

X

Page 8: Poo Aula 02

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: Poo Aula 02

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: Poo Aula 02

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: Poo Aula 02

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: Poo Aula 02

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: Poo Aula 02

13

Herança - Mamíferos

Mamar ( )

Page 14: Poo Aula 02

14

Herança X Polimorfismo

Formas geométricas

área( )

área = (b x h)/2

área = b x h

área = π x r2

Page 15: Poo Aula 02

15

Linguagens O. O.

Simula 67 Smalltalk C++ Java Ruby Python C#

Page 16: Poo Aula 02

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: Poo Aula 02

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: Poo Aula 02

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: Poo Aula 02

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: Poo Aula 02

20

Processo de desenvolvimento JAVA

Page 21: Poo Aula 02

21

Múltiplas plataformas

Page 22: Poo Aula 02

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: Poo Aula 02

23

Novas Tecnologias

Java SE for Business;

Java Real-Time Systems;

Java Card Technology;

JavaFX: para aplicações interativas;

JavaFX Mobile;

Page 24: Poo Aula 02

24

Próxima aula

Introdução a programação Java– JGrasp– Exercícios em laboratório