Revisão Sobre Programação Orientada a Objetos com Java
-
Upload
mario-pereira -
Category
Education
-
view
1.059 -
download
4
description
Transcript of Revisão Sobre Programação Orientada a Objetos com Java
![Page 2: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/2.jpg)
Orientação a Objetos / Java
AmbienteJava
Orientação a Objetos
Tipos e Modificadores
Fluxo de Controle Arrays
Tratamentode Erro
AplicaçõesConsole
Interfacejavax.swing
InterfaceEventos
AplicaçõesDesktop
![Page 3: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/3.jpg)
Ambiente Java
JDK
JRE
Maquina Virtual Java (JVM)
Coleta de Lixo
Segurança do Código
![Page 4: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/4.jpg)
Orientação a Objetos
Características:
EncapsulamentoOcultar elementos da implementação de uma classe, porém
fornecendo uma interface publica para acesso.
HerançaExtensão
Acrescenta novos métodos aos já herdados
SobreposiçãoRedefine os métodos implementados previamente
PolimorfismoComportamentos diferentes para mesma mensagem a
depender do tipo.
![Page 5: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/5.jpg)
Palavras Chave
![Page 6: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/6.jpg)
Tipos Primitivos
![Page 7: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/7.jpg)
Wrapper
String texto = "12.0";int numero = Integer.parseInt(texto);
Método:
Integer.valueOf(String s) : intInteger.parseInt(String s) : Integer
![Page 8: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/8.jpg)
Objetos
Objetos são conceitos que têm identidade, estado e
comportamento
Pode-se pensar sobre o mundo real como uma coleção
de objetos relacionados
Características de OO:Um programa OO é objeto e é composto por objetosO programa OO são objetos se comunicando através de
mensagens uns com os outrosOs objeto possuem um tipo que descreve seus dadosObjetos de tipos iguais podem receber as mesmas
mensagens
![Page 9: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/9.jpg)
Classes e Objetos
![Page 10: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/10.jpg)
Classes
Classes são uma especificação para objetosUma classe define o que um objeto pode ter e o que ele
pode fazer.A diferença entre classe e objeto:
"Classe" é um gabarito (como a planta de uma casa)"Objeto" é a concretização do gabarito (casas feitas a partir
da mesma planta)Resumindo:
Classes não são os objetos que representamClasses definem lógica estáticaClasses não existem no contexto da execução
![Page 11: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/11.jpg)
Declaração de Classes em Java
[<declaracaoPacote>][<declaracaoImport>]<modificadores> class <NomeClasse> { [<modificadores>] <tipo> <nome> = [<valorInicial>];
[<modificador>] <NomeClasse> ([<listaArgumentos>]){
[<instruções>] } [<modificadores>] <tipoRetorno> <nome> ([<listaArgumentos>]) {
[<instruções>]
}
}
![Page 12: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/12.jpg)
Declaração de Classes em Java
package br.com.mariojp.veiculo;public class Carro { private double cargaMaxima = 50.5; private double cargaAtual; public Caro(){ cargaAtual = 10.5; } public double getCargaAtual(){ return cargaAtual; } public void setCarga(double peso){ cargaAtual = peso; }
}
![Page 13: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/13.jpg)
Fluxos de Controle
if (expressão boleana) { instruções;} else { instruções;}
for (inicializa; expressão booleana; altera) {instruções;
}
![Page 14: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/14.jpg)
Resumo
Classe Definição (código fonte) de um objeto (instancia)
ObjetoUma instancia de uma classe. Um objeto.
AtributoUm elemento dados de um objeto. Variável de instancia.
MétodoUm elemento de comportamento de um objeto. Um
procedimento. Construtor
“Similar a um método” usado para inicializar um novo objetoPacote
Agrupamento de Classes e/ou subpacotes
![Page 15: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/15.jpg)
Array
String names[];names = new String[3];names[0] = "Georgianna";names[1] = "Jen";names[2] = "Simon";
String names[] = {"Georgianna","Jen","Simon"};
Data data[];datas = new Data[3];dates[0] = new Data(22, 7, 1964);
dates[1] = new Data(1, 1, 2000);
dates[2] = new Data(22, 12, 1964);
Data dates[] = {new Data(22, 7, 1964),new Data(1, 1, 2000),new Data(22, 12, 1964)};
![Page 16: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/16.jpg)
Tratamento de Erros
try {instruções onde pode ocorrer uma Exceção;
} catch (Tipo de Exceção instancia_erro) {instruções caso ocorra a Exceção;
} finally {instruções que vão ocorrer sempre;
}
declaracaoMetodo throws tipo Exceção{ instruções onde pode ocorrer uma Exceção;}
![Page 17: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/17.jpg)
Exercício
1. Escreva uma classe Pontocontém x e y e que podem ser definidos em construtorSobrescreva o metodo toString para retornar o x e o y
2. Escreva uma classe Circulo, que contenharaio inteiro e origem do tipo PontoDois construtores que define origem e raio
Circulo(int x,int y, int raio)
Cirtulo(Ponto ponto, int raio)
método que retorna a áreamétodo que retorna a circunferênciause java.lang.Math.PI (Math.PI)Sobrescreva o metodo toString para retornar o raio e a
origem
![Page 18: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/18.jpg)
Exercício
3. Escreva uma classe Teste com seguinte main:Ponto p1 = new Ponto(2,5);Circulo cir1 = new Circulo(p1,4);Circulo[] circulos = new Circulo[5];circulos[0] = cir1;circulos[1] = new Circulo(new Ponto(1,2),5);circulos[2] = new Circulo(3,4,5);circulos[3] = new Circulo(1,1,6);circulos[4] = new Circulo(5,5,6);for( Circulo c : circulos ) { System.out.println(c);}
![Page 19: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/19.jpg)
Exercício
4. Crie uma classe abstrata Figura que:- contém o atributo String cor e por padrão a cor “branco”- crie um método abstrato string desenhar()
5. Altere a classe Circulo para ela herdar de Figura- Faça as alterações necessárias- Implemente o método desenhar() retornando o nome
da figura e a cor. - Implemente um construtor Circulo(String cor)
6. Crie uma classe Quadrado que herda de Figura e implemente o método desenhar().-Implemente o construtor Quadrado(String cor)-Implemente o construtor Quadrado()
![Page 20: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/20.jpg)
Exercício
7. Escreva uma classe Teste com seguinte main:Figura[] figuras = new Figura[5];figuras[0] = new Quadrado(“Verde”);figuras[1] = new Circulo(“amarelo”);figuras[2] = new Circulo();figuras[3] = new Quadrado(“azul”);figuras[4] = new Circulo(“preto”);
for( Figura f : figuras ) { System.out.println(f.desenhar());}
![Page 21: Revisão Sobre Programação Orientada a Objetos com Java](https://reader035.fdocument.pub/reader035/viewer/2022081400/5549d562b4c9057c6d8b50d9/html5/thumbnails/21.jpg)
Formas de percorrer uma Coleção
for(Iterator it = <colecao>.iterator() ;it.hasNext() ; ){ <Tipo> <referencia> (<Tipo>) it.next();
}
Iterator it = <colecao>.iterator();while (it.hasNext()){<Tipo> <referencia> (<Tipo>) it.next();
}
for( <Tipo> <referencia> : <coleção> ) { usar a <referencia>;} //JAVA 1.5