Download - Introdução a Programação Orientada a Objetos
Introdução a ProgramaçãoOrientada a Objetos
Prof. Grace
2
Programação de computadores
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)
4
Mecanismo de tradução no JAVA
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
6
Objetos e Classes
Mundo real está repleto de objetos Agrupamos objetos semelhantes em classes
Pessoa
Carro
7
Em Programação Orientada a Objetos
Classe
Abstração
Molde
Objeto
Concreto
Ocorrência real
Instância
X
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
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
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)
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
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
13
Herança - Mamíferos
Mamar ( )
14
Herança X Polimorfismo
Formas geométricas
área( )
área = (b x h)/2
área = b x h
área = π x r2
15
Linguagens O. O.
Simula 67 Smalltalk C++ Java Ruby Python C#
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”
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
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)
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;
20
Processo de desenvolvimento JAVA
21
Múltiplas plataformas
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;
23
Novas Tecnologias
Java SE for Business;
Java Real-Time Systems;
Java Card Technology;
JavaFX: para aplicações interativas;
JavaFX Mobile;
24
Próxima aula
Introdução a programação Java– JGrasp– Exercícios em laboratório