Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Programação Orientada a Objetos

Programação Orientada a Objetos. Uso de Java.
by

JEANCARLO SARTORI

on 5 March 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Programação Orientada a Objetos

PROGRAMAÇÃO
ORIENTADA A OBJETOS
Jeancarlo Sartori

jeancarlo.sartori@gmail.com
Bel. Ciência da Computação (2003)
Esp. Desenvolvimento de Software (2007)
Desenvolvedor Java Desktop (desde 2003)
“Write Once, Run Anywhere”
(Escreva uma vez, execute em qualquer lugar)
Java:
concebida para ser uma linguagem de programação simples, de fácil aprendizado e compromissada com as boas técnicas da engenharia de software

linguagem moderna, segura, orientada a objetos e altamente preparada para comunicação em rede.

permite a criação de programas para diferentes tipos de plataformas
{
Máquina Virtual
verifica a integridade do arquivo .class
responsável pela interpretação do código
Class Loader: carrega arquivos .class para a memória
gerencia a alocação e desalocação de memória
segurança do código: responsável por garantir a não execução de códigos maliciosos
mantém o código mais acessado permanentemente traduzido para o código nativo
Convenções da Linguagem
A linguagem Java é case sensitive;

O uso de maiúsculas e minúsculas nos apresentam características do código (convenções).
Nome de classe com a primeira letra Maiúscula
Nomes de variáveis e métodos com a primeira letra minúscula
Constantes devem ser definidas com todas as letras MAIÚSCULAS
Olá Mundo
Variáveis
J2SE
Inclui:
◦ compilador(javac)
◦ máquina virtual(java)
◦ depurador(jdb)
◦ documentador(javadoc)
◦ visualizador de Applets(appletviewer)
Similaridade com a linguagem C:
casos do if(), int x, demarcação de blocos por {}, array com [], entre outros;

Ao término de cada instrução utilizamos ;

Podemos definir uma instrução em mais de uma linha
Sintaxe do Java
Operadores Aritméticos
Operadores aritméticos de incremento e decremento (para inteiros)
Operadores de comparação
Operadores lógicos
Operadores de atribuição
Controle de Fluxo
Tomada de Decisão
Arrays
hospeda múltiplos valores do mesmo tipo. Incluindo Strings ou tipos (classes) criados por nós.
estrutura de tamanho fixo;
tamanho estabelecido no momento da criação;
não permite redimensionamento.
//** define o array
int umarray[];
//** cria o array
umarray = new int[10];
// acessando um elemento dentro do array
umarray[8];
Orientação a Objetos
Por que Orientação a Objetos?
Uniformidade do modelo;
Alto nível de abstração;
Proximidade com a realidade;
Acesso controlado às informações;
Possibilidade de reutilização de código.
O que é um Objeto?
representa no sistema um objeto do mundo real
representa características e funcionalidades
um objeto é uma instância de uma classe
O que é uma Classe?
Define:
o formato;
características (atributos); e
funcionalidades para o objeto.

Uma classe é a estrutura de um objeto.
Uma classe é um molde para n objetos.
Classe x Objeto
Classe Moeda -objetos: Real, Dólar, Peso, etc
Classe Agência -objetos: Agência paulista, Agência Centro
Mundo Real
Classe
Objeto
Cria-se um objeto de uma classe ao usar o operador new e um construtor.
Mensagem
g.setColor(Color.WHITE);
Onde:
g = objeto receptor;
setColor = nome do método de manipulação da mensagem;
Color.WHITE = parâmetro da mensagem.
Métodos/Operações
Algoritmo executado em resposta ao recebimento de uma mensagem.

Um método pode receber n parâmetros e retornar apenas um valor.
Especificação formal das entradas e saídas de um método.
Assinatura
public int soma (int valor1, int valor2) { }
Nome do método
Tipos de parâmetros
Tipo de retorno
}
Herança
Superclasse
Subclasse
Abstração
Modularidade
Dividir para conquistar.
Encapsulamento
Nenhuma parte de um sistema complexo deve depender de detalhes internos de qualquer outra parte.
Modificadores de Acesso
Em ordem crescente de acesso:
private
modificador ausente
protected
public
Polimorfismo
Capacidade de dois ou mais tipos de objetos de responderem à mesma mensagem de maneira particular;

Podemos escrever métodos em classes com o mesmo nome e diferentes argumentos;
Interfaces
Gráficas
com Java

AWT x Swing
Components x Containers
SwingSet2 demo
Java Swing
Gerenciadores de Layout
FlowLayout;
BorderLayout;
GridLayout;
CardLayout;
GridBagLayout.
Eventos
São três os componentes envolvidos no tratamento de eventos:

O objeto que representa o evento (Event);
O gerador do evento (Component);
Aquele que trata o evento gerado (Listener).
Banco de Dados
URL: jdbc:postgresql://localhost:5432/Oficina
Aplicação em camadas
Arquitetura MVC
jeancarlo.sartori@gmail.com
Apresentação
1. Nome?

2. Possui experiência com Desenvolvimento?
Profissional ou Acadêmica?

3. Trabalha na área?

4. Conhecimento em Java?
Cronograma:
1. Linguagem de Programação Java
1.1 Introdução e conceitos
1.2 Sintaxe básica
1.3 Classes e métodos
1.4 Operadores e controle de fluxo
1.5 Arrays

2. Orientação a Objetos
3. Interface gráfica Java
4. Persistência de Dados
História:
Década de 1990 os maiores problemas ao se programar eram:
ponteiros;
gerenciamento de memória;
organização;
falta de bibliotecas;
ter de reescrever parte/todo do código ao mudar de sistema operacional;
custo financeiro de usar a tecnologia.
1995: Criação do Java pela Sun Microsystems

2006: A Sun libera partes do Java como software livre.

2007: A Sun faz a liberação completa do código fonte sob a licença GNU General Public License.

2009: Oracle compra a Sun. A Oracle sempre foi, junto com a IBM, uma das empresas que mais investiram e fizeram negócios através do uso da plataforma Java.

Mantida através de um comitê o:
Java Community Process (JCP - http://www.jcp.org).
Mais sobre o Java
Caixa Econômica Federal;
TAM;
Banco do Brasil;
Sistema do Imposto de Renda;
entre outros.
Casos de sucesso no Brasil:
Em dúvida ainda?
Responsável por prover a flexibilidade de Sistema Operacional para o software Java
Compilando em C ou Pascal
Eclipse (Open-source e gratuito);
NetBeans (Open-source e gratuito);
Oracle JDeveloper;
Borland JBuilder;
Compuware OptimalJ;
IBM Websphere Studio Application Developer;
BEA Workshop;
JEdit;
Kawa;
JCreator(gratuito para uso educacional).
Ambientes de Desenvolvimento JAVA - IDEs
Toda variável tem um tipo de dado e um nome. Declaradas em qualquer lugar.

A linguagem é case sensitive, ou seja 'x'é diferente de 'X'
Comentários
Na mesma linha:
// comentários não são compilados

Com múltiplas linhas:
/* podemos utilizar
mais de uma linha
para comentários */

Comentários de documentação - JavaDoc:
/**
* @param valor1
*/
Representam um espaço em memória;

Toda variável tem um tipo de dado e um nome;

Podemos declarar variáveis em qualquer parte do código;
Variáveis:
Declaração e Inicialização
Variáveis
Variáveis do Tipo String
Do tipo composta presente na linguagem para manipular cadeias de caracteres;

Chama-se String e não string;

Inclui recursos para conversão de maiúsculo e minúsculo, recorte, pesquisa, concatenação entre outros.
String palavra = "Nome do Produto";
String recorte = palavra.substring(0,4);
Métodos
Um método pode receber n parâmetros e retornar apenas um valor.
EXERCÍCIO:

A muito tempo pretendo comprar uma bicicleta. Hoje passando em frente uma loja me deparei com a seguinte promoção: “Somente hoje bicicletas com 50% de desconto”. A bicicleta que eu queria passou de R$ 1.000,00 para R$ 500,00. Como não tenho o dinheiro resolvi pedir um empréstimo. Um amigo me ofereceu o dinheiro com taxa de 10% na aquisição + R$ 1,00 por dia até a quitação. Quanto terei pago após dois dias de empréstimo?
Objetivo:
Condicionar a execução de uma parte do código com operadores lógicos e a instrução if.

Podemos utilizar apenas if, sem else if / else.
Laço for utilizado quando se conhece o número de execuções.

Laços while: utilizados quando não se conhece o número de vezes que queremos executar o código, dispomos apenas de uma condição.
Objetivo: repetir a execução de um determinado trecho de código. Exemplo:
somar os juros diários por um período de dias
for (int contador = 0; contador < 100; contador++) {
System.out.println ( "O valor do contador é:" + contador );
}
while (bancoDeDados.temRegistros()) {
System.out.println ( bancoDeDados.obterRegistro() );
}
Exercício:
Imprimir os fatoriais de 0 a 9.

O fatorial de um número natural n, representado por n!, é o produto de todos os inteiros positivos menores ou iguais a n. O fatorial de 0 é 1.
Exemplo:
5! = 1 x 2 x 3 x 4 x 5 = 120
Cronograma (cont.):
2. Orientação a objetos
2.1 Introdução e conceitos
2.2 Classes e objetos
2.3 Tipo de dados e métodos
2.4 Comunicação entre classes e objetos
2.5 Sobrecarga de métodos
2.6 Polimorfismo e Encapsulamento
2.7 Herança

3. Interface gráfica

4. Persistência de Dados
Surgiu nos anos 60 com a linguagem Simula;

Entre as décadas de 60 e 70 surgiu a linguagem Lisp proveniente do Algol;

Surgimento da linguagem Smalltalk, considerada a primeira linguagem "autentica" OO;

A partir da década de 80 a linguagem C foi expandida, criando-se assim o C++;

Na década de 90 surgiu a linguagem Java.
Histórico OO
O que é Orientação a Objetos?
O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos.
Quando declaramos uma variável para associar a um objeto, na verdade, essa variável não guarda o objeto, e sim uma maneira de acessá-lo, chamada de referência.

É por esse motivo que, diferente dos tipos primitivos como int e long, precisamos dar new depois de declarada a variável.
Variáveis de Referência
class TestaDuasContas {
public static void main(String[] args) {

Conta minhaConta;
minhaConta = new Conta();
minhaConta.saldo = 1000;

Conta meuSonho;
meuSonho = new Conta();
meuSonho.saldo = 1500000;
}
}
Dois Objetos Conta a partir
de uma Classe Conta
Exercício:
Considere um programa para uma fábrica de carros. Onde nossos carros tem:
cor;
modelo;
velocidade atual;
velocidade máxima;
motor: potência e tipo.
E faz ou gostaríamos de "pedir a ele que fizesse"?
liga;
acelera;
troca de marchas;
Full transcript