SlideShare a Scribd company logo
1 of 21
Download to read offline
Linguagem Orientada a
Objetos
Revisão
Mario Jorge Pereira
mariojp@gmail.com
Orientação a Objetos / Java
Ambiente
Java
Orientação
a Objetos
Tipos e
Modificadores
Fluxo de
Controle
Arrays
Tratamento
de Erro
Aplicações
Console
Interface
javax.swing
Interface
Eventos
Aplicações
Desktop
Ambiente Java
JDK
JRE
Maquina Virtual Java (JVM)
Coleta de Lixo
Segurança do Código
Orientação a Objetos
Características:
Encapsulamento
Ocultar elementos da implementação de uma classe, porém
fornecendo uma interface publica para acesso.
Herança
Extensão
Acrescenta novos métodos aos já herdados
Sobreposição
Redefine os métodos implementados previamente
Polimorfismo
Comportamentos diferentes para mesma mensagem a
depender do tipo.
Palavras Chave
Tipos Primitivos
Wrapper
String texto = "12.0";
int numero = Integer.parseInt(texto);
Método:
Integer.valueOf(String s) : int
Integer.parseInt(String s) : Integer
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 objetos
O programa OO são objetos se comunicando através de
mensagens uns com os outros
Os objeto possuem um tipo que descreve seus dados
Objetos de tipos iguais podem receber as mesmas
mensagens
Classes e Objetos
Classes
Classes são uma especificação para objetos
Uma 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 representam
Classes definem lógica estática
Classes não existem no contexto da execução
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>]
}
}
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;
}
}
Fluxos de Controle
if (expressão boleana) {
instruções;
} else {
instruções;
}
for (inicializa; expressão booleana; altera) {
instruções;
}
Resumo
Classe
Definição (código fonte) de um objeto (instancia)
Objeto
Uma instancia de uma classe. Um objeto.
Atributo
Um elemento dados de um objeto. Variável de instancia.
Método
Um elemento de comportamento de um objeto. Um
procedimento.
Construtor
“Similar a um método” usado para inicializar um novo objeto
Pacote
Agrupamento de Classes e/ou subpacotes
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)
};
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;
}
Exercício
1. Escreva uma classe Ponto
contém x e y e que podem ser definidos em construtor
Sobrescreva o metodo toString para retornar o x e o y
2. Escreva uma classe Circulo, que contenha
raio inteiro e origem do tipo Ponto
Dois construtores que define origem e raio
Circulo(int x,int y, int raio)
Cirtulo(Ponto ponto, int raio)
método que retorna a área
método que retorna a circunferência
use java.lang.Math.PI (Math.PI)
Sobrescreva o metodo toString para retornar o raio e a
origem
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);
}
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()
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());
}
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

More Related Content

What's hot

Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Natanael Fonseca
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel Brandão
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAAparicio Junior
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Adriano Teixeira de Souza
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamentoSedu
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosLeonardo Melo Santos
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosLudimila Monjardim Casagrande
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 

What's hot (20)

Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamento
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Estrutura de dados em Java - Recursividade
Estrutura de dados em Java - RecursividadeEstrutura de dados em Java - Recursividade
Estrutura de dados em Java - Recursividade
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
Árvore Binária
Árvore BináriaÁrvore Binária
Árvore Binária
 

Viewers also liked

Exercicios java2016 - resolvidos
Exercicios java2016 - resolvidosExercicios java2016 - resolvidos
Exercicios java2016 - resolvidosHelda Matos
 
Maratona de programação 2009. Exercícios para Iniciantes.
Maratona de programação 2009. Exercícios para Iniciantes.Maratona de programação 2009. Exercícios para Iniciantes.
Maratona de programação 2009. Exercícios para Iniciantes.Rayan Teixeira
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidosCrishna Irion
 
Classes e Orientação a Objetos no PHP
Classes e Orientação a Objetos no PHPClasses e Orientação a Objetos no PHP
Classes e Orientação a Objetos no PHPJonathan Célio
 
Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos Renato Sousa
 
Improving market share noshir marfatia
Improving market share noshir marfatiaImproving market share noshir marfatia
Improving market share noshir marfatiaSanjay Patil
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
Três etapas fundamentais para participar de uma feira de negócios
Três etapas fundamentais para participar de uma feira de negóciosTrês etapas fundamentais para participar de uma feira de negócios
Três etapas fundamentais para participar de uma feira de negóciosTracto Content Marketing
 
Lista de exercicios 01 introdução
Lista de exercicios 01 introduçãoLista de exercicios 01 introdução
Lista de exercicios 01 introduçãoMauro Pereira
 
Testes In Browser Em Rails Com Capybara E Webdriver
Testes In Browser Em Rails Com Capybara E WebdriverTestes In Browser Em Rails Com Capybara E Webdriver
Testes In Browser Em Rails Com Capybara E WebdriverMaurício Linhares
 
Apostila de java na pratica
Apostila de java na praticaApostila de java na pratica
Apostila de java na praticaAlbino87
 
Aula 02 POO - Meu Primeiro Código
Aula 02 POO - Meu Primeiro CódigoAula 02 POO - Meu Primeiro Código
Aula 02 POO - Meu Primeiro CódigoAislan Rafael
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08André Phillip Bertoletti
 
O que você NÃO aprendeu sobre Programação Orientada a Objetos
O que você NÃO aprendeu sobre Programação Orientada a ObjetosO que você NÃO aprendeu sobre Programação Orientada a Objetos
O que você NÃO aprendeu sobre Programação Orientada a ObjetosDanilo Sato
 
Informática introdutória
Informática introdutória Informática introdutória
Informática introdutória Helda Matos
 
Informática básica
Informática básicaInformática básica
Informática básicaHelda Matos
 
O sorvete - ICE CREAM
O sorvete - ICE CREAMO sorvete - ICE CREAM
O sorvete - ICE CREAMHelda Matos
 

Viewers also liked (20)

Exercicios java2016 - resolvidos
Exercicios java2016 - resolvidosExercicios java2016 - resolvidos
Exercicios java2016 - resolvidos
 
Exercicios java básico
Exercicios java básicoExercicios java básico
Exercicios java básico
 
Maratona de programação 2009. Exercícios para Iniciantes.
Maratona de programação 2009. Exercícios para Iniciantes.Maratona de programação 2009. Exercícios para Iniciantes.
Maratona de programação 2009. Exercícios para Iniciantes.
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 
Classes e Orientação a Objetos no PHP
Classes e Orientação a Objetos no PHPClasses e Orientação a Objetos no PHP
Classes e Orientação a Objetos no PHP
 
Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos
 
Improving market share noshir marfatia
Improving market share noshir marfatiaImproving market share noshir marfatia
Improving market share noshir marfatia
 
Aula00
Aula00Aula00
Aula00
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
Três etapas fundamentais para participar de uma feira de negócios
Três etapas fundamentais para participar de uma feira de negóciosTrês etapas fundamentais para participar de uma feira de negócios
Três etapas fundamentais para participar de uma feira de negócios
 
Lista de exercicios 01 introdução
Lista de exercicios 01 introduçãoLista de exercicios 01 introdução
Lista de exercicios 01 introdução
 
Testes In Browser Em Rails Com Capybara E Webdriver
Testes In Browser Em Rails Com Capybara E WebdriverTestes In Browser Em Rails Com Capybara E Webdriver
Testes In Browser Em Rails Com Capybara E Webdriver
 
Apostila de java na pratica
Apostila de java na praticaApostila de java na pratica
Apostila de java na pratica
 
Aula 02 POO - Meu Primeiro Código
Aula 02 POO - Meu Primeiro CódigoAula 02 POO - Meu Primeiro Código
Aula 02 POO - Meu Primeiro Código
 
Geek night-2015
Geek night-2015Geek night-2015
Geek night-2015
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
O que você NÃO aprendeu sobre Programação Orientada a Objetos
O que você NÃO aprendeu sobre Programação Orientada a ObjetosO que você NÃO aprendeu sobre Programação Orientada a Objetos
O que você NÃO aprendeu sobre Programação Orientada a Objetos
 
Informática introdutória
Informática introdutória Informática introdutória
Informática introdutória
 
Informática básica
Informática básicaInformática básica
Informática básica
 
O sorvete - ICE CREAM
O sorvete - ICE CREAMO sorvete - ICE CREAM
O sorvete - ICE CREAM
 

Similar to Java OO e Herança

Similar to Java OO e Herança (20)

Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Java 07
Java 07Java 07
Java 07
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
 
Java7
Java7Java7
Java7
 
Aula5
Aula5Aula5
Aula5
 
JavaScript - Objectos e Arrays
JavaScript - Objectos e ArraysJavaScript - Objectos e Arrays
JavaScript - Objectos e Arrays
 
Aula4
Aula4Aula4
Aula4
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
 
Java20141219
Java20141219Java20141219
Java20141219
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Java 14
Java 14Java 14
Java 14
 
Coleções Propriedade, Resources e Strings
Coleções Propriedade, Resources e StringsColeções Propriedade, Resources e Strings
Coleções Propriedade, Resources e Strings
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens Poo
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 

More from Mario Jorge Pereira (20)

Labs Jogos Java
Labs Jogos JavaLabs Jogos Java
Labs Jogos Java
 
Java www
Java wwwJava www
Java www
 
Html
HtmlHtml
Html
 
HTTP
HTTPHTTP
HTTP
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Guia rapido java v2
Guia rapido java v2Guia rapido java v2
Guia rapido java v2
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 
Android por onde começar? Mini Curso Erbase 2015
Android por onde começar? Mini Curso Erbase 2015 Android por onde começar? Mini Curso Erbase 2015
Android por onde começar? Mini Curso Erbase 2015
 
Java Nuvem Appengine
Java Nuvem AppengineJava Nuvem Appengine
Java Nuvem Appengine
 
Mini curso Android
Mini curso AndroidMini curso Android
Mini curso Android
 
Java Server Faces
Java Server FacesJava Server Faces
Java Server Faces
 
Minicurso Android
Minicurso AndroidMinicurso Android
Minicurso Android
 
Android, por onde começar?
Android, por onde começar?Android, por onde começar?
Android, por onde começar?
 
Hands-On Java web passando por Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...
Hands-On Java web passando por  Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...Hands-On Java web passando por  Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...
Hands-On Java web passando por Servlets, JSP, JSTL, JDBC, Hibernate, DAO, MV...
 
Android e Cloud Computing
Android e Cloud ComputingAndroid e Cloud Computing
Android e Cloud Computing
 
Threads
ThreadsThreads
Threads
 
RMI (Remote Method Invocation)
RMI (Remote Method Invocation) RMI (Remote Method Invocation)
RMI (Remote Method Invocation)
 
Socket
SocketSocket
Socket
 
Java e Cloud Computing
Java e Cloud ComputingJava e Cloud Computing
Java e Cloud Computing
 
GUI - Eventos
GUI - EventosGUI - Eventos
GUI - Eventos
 

Recently uploaded

HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
A galinha ruiva sequencia didatica 3 ano
A  galinha ruiva sequencia didatica 3 anoA  galinha ruiva sequencia didatica 3 ano
A galinha ruiva sequencia didatica 3 anoandrealeitetorres
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...LizanSantos1
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 

Recently uploaded (20)

HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
A galinha ruiva sequencia didatica 3 ano
A  galinha ruiva sequencia didatica 3 anoA  galinha ruiva sequencia didatica 3 ano
A galinha ruiva sequencia didatica 3 ano
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 

Java OO e Herança

  • 1. Linguagem Orientada a Objetos Revisão Mario Jorge Pereira mariojp@gmail.com
  • 2. Orientação a Objetos / Java Ambiente Java Orientação a Objetos Tipos e Modificadores Fluxo de Controle Arrays Tratamento de Erro Aplicações Console Interface javax.swing Interface Eventos Aplicações Desktop
  • 3. Ambiente Java JDK JRE Maquina Virtual Java (JVM) Coleta de Lixo Segurança do Código
  • 4. Orientação a Objetos Características: Encapsulamento Ocultar elementos da implementação de uma classe, porém fornecendo uma interface publica para acesso. Herança Extensão Acrescenta novos métodos aos já herdados Sobreposição Redefine os métodos implementados previamente Polimorfismo Comportamentos diferentes para mesma mensagem a depender do tipo.
  • 7. Wrapper String texto = "12.0"; int numero = Integer.parseInt(texto); Método: Integer.valueOf(String s) : int Integer.parseInt(String s) : Integer
  • 8. 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 objetos O programa OO são objetos se comunicando através de mensagens uns com os outros Os objeto possuem um tipo que descreve seus dados Objetos de tipos iguais podem receber as mesmas mensagens
  • 10. Classes Classes são uma especificação para objetos Uma 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 representam Classes definem lógica estática Classes não existem no contexto da execução
  • 11. 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>] } }
  • 12. 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; } }
  • 13. Fluxos de Controle if (expressão boleana) { instruções; } else { instruções; } for (inicializa; expressão booleana; altera) { instruções; }
  • 14. Resumo Classe Definição (código fonte) de um objeto (instancia) Objeto Uma instancia de uma classe. Um objeto. Atributo Um elemento dados de um objeto. Variável de instancia. Método Um elemento de comportamento de um objeto. Um procedimento. Construtor “Similar a um método” usado para inicializar um novo objeto Pacote Agrupamento de Classes e/ou subpacotes
  • 15. 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) };
  • 16. 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; }
  • 17. Exercício 1. Escreva uma classe Ponto contém x e y e que podem ser definidos em construtor Sobrescreva o metodo toString para retornar o x e o y 2. Escreva uma classe Circulo, que contenha raio inteiro e origem do tipo Ponto Dois construtores que define origem e raio Circulo(int x,int y, int raio) Cirtulo(Ponto ponto, int raio) método que retorna a área método que retorna a circunferência use java.lang.Math.PI (Math.PI) Sobrescreva o metodo toString para retornar o raio e a origem
  • 18. 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); }
  • 19. 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()
  • 20. 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()); }
  • 21. 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