SlideShare uma empresa Scribd logo
1 de 51
Java: Introdução à
Orientação a Objetos
Me. Arthur Emanuel de Oliveira Carosia
Introdução
Considere um programa para um banco.
◦Quais seriam os seus elementos relevantes para
o desenvolvimento?
Introdução
Considere um programa para um banco.
◦Quais seriam os seus elementos relevantes para
o desenvolvimento?
- Conta bancária;
- Clientes;
- Seguros,
- etc.
Considere um programa para um banco.
◦Quais seriam os seus elementos relevantes para
o desenvolvimento?
- Conta bancária;
- Clientes;
- Seguros,
- etc.
Introdução
O que toda conta possui e é relevante?
Introdução
O que toda conta possui e é relevante?
◦Número da conta;
◦Nome do dono da conta;
◦Saldo;
◦Limite.
Introdução
O que toda conta faz e é importante?
Introdução
O que toda conta faz e é importante?
◦Sacar;
◦Depositar;
◦Imprimir o nome do dono da conta;
◦Devolver o saldo atual;
◦Transferir uma quantidade para uma outra conta;
◦Devolver o tipo de conta.
Introdução
Introdução
Introdução
Definição
(Classe)
Introdução
Instância
(Objeto)
A palavra classe vem da taxonomia da
biologia.
Introdução
A palavra classe vem da taxonomia da
biologia.
◦Todos os seres vivos de uma mesma classe biológica
têm uma série de atributos e comportamentos em
comum.
Introdução
A palavra classe vem da taxonomia da
biologia.
◦Todos os seres vivos de uma mesma classe biológica
têm uma série de atributos e comportamentos em
comum.
◦No entanto, podem podem variar nos valores
desses atributos e como realizam
esses comportamentos
Introdução
Introdução
Classe Objeto (Instância)
Introdução
Receita de Bolo
Classe Objeto (Instância)
Introdução
Receita de Bolo Bolo de Chocolate
Classe Objeto (Instância)
Introdução
Receita de Bolo Bolo de Chocolate
Cachorro
Classe Objeto (Instância)
Introdução
Receita de Bolo Bolo de Chocolate
Cachorro Bidu
Classe Objeto (Instância)
Introdução
Receita de Bolo Bolo de Chocolate
Cachorro Bidu
Time de Futebol
Classe Objeto (Instância)
Introdução
Receita de Bolo Bolo de Chocolate
Cachorro Bidu
Time de Futebol Corinthians
Classe Objeto (Instância)
Criando a classe Conta com os atributos que
descrevem a classe.
Uma classe em Java
Uma classe em Java
Adicionando métodos, ou seja, os
comportamentos da classe
Utilizando a classe Conta
Criação do objeto
Acesso aos atributos da classe
mandar uma mensagem ao objeto: invocação de
método
Uma classe em Java
Uma classe em Java
Uma classe em Java
Criação do objeto
Uma classe em Java
Acesso aos atributos
da classe
Uma classe em Java
 invocação de método
 invocação de método
Uma classe em Java
Alterando o método saca para não deixar sacar
mais dinheiro do que a conta tem.
Uma classe em Java
Exemplos de invocação do método saca
Uma classe em Java
Utilizando mais de uma conta
Uma classe em Java
Representação de uma classe.
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.
Objetos
Um programa Orientado a Objetos possui:
◦objetos se comunicando através de troca de
mensagens
Objetos
Classes e Objetos
Cachorro01
-Totó
-3.5
-Branco
Latir()
Abanar()
Classes
◦Definição para objetos.
◦Uma classe define o que um objeto
◦Pode ter (atributos) e o que ele pode
fazer (métodos).
Atributos
◦Características de um objeto.
Métodos
◦Comportamento de um objeto.
Objetos
◦Uma instancia de uma classe.
Resumindo
Exercício
Escreva uma classe Circulo, que contenha:
• raio inteiro e centro em inteiros x e y.
• método que retorna a área
• método que retorna a circunferência
Use java.lang.Math.PI (Math.PI)
Quando declaramos uma variável para associar
a um objeto, ela armazena uma referência.
É por isso que precisamos usar new depois de
declarada a variável
Objetos e Referências
Caso 1
Objetos e Referências
Caso 2
Objetos e Referências
Implemente um método chamado copia que
copie todos os atributos de um objeto para
outro e que pertençam à mesma classe.
O objetivo deste método é que, ao final de sua
execução, ambos objetos possuam os mesmos
atributos.
Exercício
Também podem ser atribuídos valores default
no momento da criação da classe:
Atributos
Modele um funcionário. Ele deve ter o nome
do funcionário, o departamento onde trabalha,
seu salário (double), a data de entrada no
banco (String) e seu RG (String).
Crie um método recebeAumento que aumenta
o salario do funcionário de acordo com o
parâmetro passado como argumento. Crie
também um métodocalculaGanhoAnual, que
não recebe parâmetro algum, devolvendo o
valor do salário multiplicado por 12.
Transforme o modelo acima em uma classe
Exercício
Crie um método mostra(), que não recebe nem
devolve parâmetro algum e simplesmente
imprime todos os atributos do nosso
funcionário.
Construa dois funcionários com o new e
compare-os com o ==. E se eles tiverem os
mesmos atributos?
Crie duas referências para
o mesmo funcionário, compare-os com o ==.
Exercício
Classe: Pessoa
Atributos: nome, idade.
Método: void fazAniversario()
Crie uma pessoa, coloque seu nome e idade
iniciais, faça alguns aniversários (aumentando a
idade) e imprima seu nome e sua idade.
Exercício
Exercício
a) Um método que permita verificar se dois países são iguais. Dois países são iguais se
tiverem o mesmo nome e a mesma capital.
b) Um método que lista quais outros países fazem fronteira (note que um país não pode
fazer fronteira com ele mesmo);
c) Um método que receba um outro país como parâmetro e retorne uma lista de
vizinhos comuns aos dois países.
Classe: Porta
Atributos: aberta, cor, dimensaoX, dimensaoY,
dimensaoZ
Métodos:
◦void abre()
◦void fecha()
◦void pinta(String s)
◦boolean estaAberta()
Crie uma porta, abra e feche a mesma, pinte-a
de diversas cores, altere suas dimensões e use
o método estaAberta para verificar se ela está
aberta.
Exercício
Classe: Casa
Atributos: cor, porta1, porta2, porta3 Método:
◦void pinta(String s),
◦int quantasPortasEstaoAbertas()
Crie uma casa e pinte-a. Crie três portas e
coloque-as na casa; abra e feche as mesmas
como desejar. Utilize o
método quantasPortasEstaoAbertas para
imprimir o número de portas abertas.
Exercício
Desenvolva um jogo em que um robô deve
perseguir um gato. Ambos elementos
armazenam coordenadas (x,y). O gato possui
ainda seu nome e cor do pelo, enquanto que o
robô possui seu nome-código.
O gato somente anda em diagonal, sendo que
a cada passo define aleatoriamente seu rumo.
O robô sempre anda no sentido de diminuir a
sua distância em relação ao gato.
Este jogo acontece em um tabuleiro, que
consiste em uma matriz nxn e possui um gato
e um robô movimentando em sua parte
superior.
Exercício
Jsp, Servlets e J2EE. André Temple, Rodrigo Fernandes de
Mello, Danival Taffarel Calegari and Maurício Schiezaro.
Disponível em: www.inf.ufsc.br/~bosco/downloads/livro-jsp-
servlets-j2ee.pdf.
W3Schools. Disponível em: http://www.w3schools.com/.
Apostila de Java. Caelum. Disponível em:
http://www.caelum.com.br/apostila-java-orientacao-objetos/.
DEITEL, Paul J.; DEITEL, Harvey M. Java - como
programar. 8. ed. São Paulo: Pearson Prentice Hall, 2010.
Referências
Java
Me. Arthur Emanuel de Oliveira Carosia

Mais conteúdo relacionado

Mais procurados

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
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)Alex Camargo
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
Criação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTMLCriação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTMLLeonardo Soares
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfacesRafael Pinheiro
 
Aula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdfAula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdfIvanFontainha
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggersDaniel Maia
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introduçãoelliando dias
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetosNécio de Lima Veras
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Java: Composicao e Array List
Java: Composicao e Array ListJava: Composicao e Array List
Java: Composicao e Array ListArthur Emanuel
 

Mais procurados (20)

Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Criação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTMLCriação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTML
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfaces
 
Aula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdfAula 10 - Diagrama de Sequencia.pdf
Aula 10 - Diagrama de Sequencia.pdf
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggers
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
Matrizes em c#
Matrizes em c#Matrizes em c#
Matrizes em c#
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
Excel basico
Excel basicoExcel basico
Excel basico
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Java: Composicao e Array List
Java: Composicao e Array ListJava: Composicao e Array List
Java: Composicao e Array List
 

Destaque

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íciosArthur Emanuel
 
Java: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acessoJava: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acessoArthur Emanuel
 
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...Maurício V.Pires
 
Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)marconesilfer
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informáticasocrahn
 

Destaque (8)

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: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acessoJava: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acesso
 
Aula UML e Java
Aula UML e JavaAula UML e Java
Aula UML e Java
 
Data models
Data modelsData models
Data models
 
Dbms models
Dbms modelsDbms models
Dbms models
 
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
 
Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informática
 

Semelhante a Java OO Introdução

Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetosCícero Quarto
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objetoDanilo Alves
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresMoises Omena
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.xNorton Guimarães
 
Java: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceJava: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceArthur Emanuel
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#biandamakengo08
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Thiago Dieb
 
Aula 1 de Linguagens de Programação ISPGS
Aula 1 de Linguagens de Programação ISPGSAula 1 de Linguagens de Programação ISPGS
Aula 1 de Linguagens de Programação ISPGSEugenio Dianguila
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetrosMaurício Linhares
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Elaine Cecília Gatto
 

Semelhante a Java OO Introdução (20)

POO.pdf
POO.pdfPOO.pdf
POO.pdf
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Java 05 Oo Basica
Java 05 Oo BasicaJava 05 Oo Basica
Java 05 Oo Basica
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetos
 
Introducao basica-linguagem-java
Introducao basica-linguagem-javaIntroducao basica-linguagem-java
Introducao basica-linguagem-java
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - Construtores
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
Java: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceJava: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, Interface
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0
 
Aula 1 de Linguagens de Programação ISPGS
Aula 1 de Linguagens de Programação ISPGSAula 1 de Linguagens de Programação ISPGS
Aula 1 de Linguagens de Programação ISPGS
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
 

Mais de Arthur Emanuel

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningArthur Emanuel
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - JavaArthur Emanuel
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosArthur Emanuel
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com FacebookArthur Emanuel
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaArthur Emanuel
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuArthur Emanuel
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomArthur Emanuel
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoArthur Emanuel
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosArthur Emanuel
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoArthur Emanuel
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoArthur Emanuel
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioArthur Emanuel
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, FormulárioArthur Emanuel
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPSArthur Emanuel
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo WebservicesArthur Emanuel
 

Mais de Arthur Emanuel (20)

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com Facebook
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - Exercício
 
CSS 3
CSS 3CSS 3
CSS 3
 
CSS
CSSCSS
CSS
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
 
HTML - Introducao
HTML - Introducao HTML - Introducao
HTML - Introducao
 
Android - Google Maps
Android - Google MapsAndroid - Google Maps
Android - Google Maps
 
Android - Bluetooth
Android - BluetoothAndroid - Bluetooth
Android - Bluetooth
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPS
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo Webservices
 

Java OO Introdução

  • 1. Java: Introdução à Orientação a Objetos Me. Arthur Emanuel de Oliveira Carosia
  • 2. Introdução Considere um programa para um banco. ◦Quais seriam os seus elementos relevantes para o desenvolvimento?
  • 3. Introdução Considere um programa para um banco. ◦Quais seriam os seus elementos relevantes para o desenvolvimento? - Conta bancária; - Clientes; - Seguros, - etc.
  • 4. Considere um programa para um banco. ◦Quais seriam os seus elementos relevantes para o desenvolvimento? - Conta bancária; - Clientes; - Seguros, - etc. Introdução
  • 5. O que toda conta possui e é relevante? Introdução
  • 6. O que toda conta possui e é relevante? ◦Número da conta; ◦Nome do dono da conta; ◦Saldo; ◦Limite. Introdução
  • 7. O que toda conta faz e é importante? Introdução
  • 8. O que toda conta faz e é importante? ◦Sacar; ◦Depositar; ◦Imprimir o nome do dono da conta; ◦Devolver o saldo atual; ◦Transferir uma quantidade para uma outra conta; ◦Devolver o tipo de conta. Introdução
  • 12. A palavra classe vem da taxonomia da biologia. Introdução
  • 13. A palavra classe vem da taxonomia da biologia. ◦Todos os seres vivos de uma mesma classe biológica têm uma série de atributos e comportamentos em comum. Introdução
  • 14. A palavra classe vem da taxonomia da biologia. ◦Todos os seres vivos de uma mesma classe biológica têm uma série de atributos e comportamentos em comum. ◦No entanto, podem podem variar nos valores desses atributos e como realizam esses comportamentos Introdução
  • 16. Introdução Receita de Bolo Classe Objeto (Instância)
  • 17. Introdução Receita de Bolo Bolo de Chocolate Classe Objeto (Instância)
  • 18. Introdução Receita de Bolo Bolo de Chocolate Cachorro Classe Objeto (Instância)
  • 19. Introdução Receita de Bolo Bolo de Chocolate Cachorro Bidu Classe Objeto (Instância)
  • 20. Introdução Receita de Bolo Bolo de Chocolate Cachorro Bidu Time de Futebol Classe Objeto (Instância)
  • 21. Introdução Receita de Bolo Bolo de Chocolate Cachorro Bidu Time de Futebol Corinthians Classe Objeto (Instância)
  • 22. Criando a classe Conta com os atributos que descrevem a classe. Uma classe em Java
  • 23. Uma classe em Java Adicionando métodos, ou seja, os comportamentos da classe
  • 24. Utilizando a classe Conta Criação do objeto Acesso aos atributos da classe mandar uma mensagem ao objeto: invocação de método Uma classe em Java
  • 26. Uma classe em Java Criação do objeto
  • 27. Uma classe em Java Acesso aos atributos da classe
  • 28. Uma classe em Java  invocação de método  invocação de método
  • 29. Uma classe em Java Alterando o método saca para não deixar sacar mais dinheiro do que a conta tem.
  • 30. Uma classe em Java Exemplos de invocação do método saca
  • 31. Uma classe em Java Utilizando mais de uma conta
  • 32. Uma classe em Java Representação de uma classe.
  • 33. 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. Objetos
  • 34. Um programa Orientado a Objetos possui: ◦objetos se comunicando através de troca de mensagens Objetos
  • 36. Cachorro01 -Totó -3.5 -Branco Latir() Abanar() Classes ◦Definição para objetos. ◦Uma classe define o que um objeto ◦Pode ter (atributos) e o que ele pode fazer (métodos). Atributos ◦Características de um objeto. Métodos ◦Comportamento de um objeto. Objetos ◦Uma instancia de uma classe. Resumindo
  • 37. Exercício Escreva uma classe Circulo, que contenha: • raio inteiro e centro em inteiros x e y. • método que retorna a área • método que retorna a circunferência Use java.lang.Math.PI (Math.PI)
  • 38. Quando declaramos uma variável para associar a um objeto, ela armazena uma referência. É por isso que precisamos usar new depois de declarada a variável Objetos e Referências
  • 39. Caso 1 Objetos e Referências
  • 40. Caso 2 Objetos e Referências
  • 41. Implemente um método chamado copia que copie todos os atributos de um objeto para outro e que pertençam à mesma classe. O objetivo deste método é que, ao final de sua execução, ambos objetos possuam os mesmos atributos. Exercício
  • 42. Também podem ser atribuídos valores default no momento da criação da classe: Atributos
  • 43. Modele um funcionário. Ele deve ter o nome do funcionário, o departamento onde trabalha, seu salário (double), a data de entrada no banco (String) e seu RG (String). Crie um método recebeAumento que aumenta o salario do funcionário de acordo com o parâmetro passado como argumento. Crie também um métodocalculaGanhoAnual, que não recebe parâmetro algum, devolvendo o valor do salário multiplicado por 12. Transforme o modelo acima em uma classe Exercício
  • 44. Crie um método mostra(), que não recebe nem devolve parâmetro algum e simplesmente imprime todos os atributos do nosso funcionário. Construa dois funcionários com o new e compare-os com o ==. E se eles tiverem os mesmos atributos? Crie duas referências para o mesmo funcionário, compare-os com o ==. Exercício
  • 45. Classe: Pessoa Atributos: nome, idade. Método: void fazAniversario() Crie uma pessoa, coloque seu nome e idade iniciais, faça alguns aniversários (aumentando a idade) e imprima seu nome e sua idade. Exercício
  • 46. Exercício a) Um método que permita verificar se dois países são iguais. Dois países são iguais se tiverem o mesmo nome e a mesma capital. b) Um método que lista quais outros países fazem fronteira (note que um país não pode fazer fronteira com ele mesmo); c) Um método que receba um outro país como parâmetro e retorne uma lista de vizinhos comuns aos dois países.
  • 47. Classe: Porta Atributos: aberta, cor, dimensaoX, dimensaoY, dimensaoZ Métodos: ◦void abre() ◦void fecha() ◦void pinta(String s) ◦boolean estaAberta() Crie uma porta, abra e feche a mesma, pinte-a de diversas cores, altere suas dimensões e use o método estaAberta para verificar se ela está aberta. Exercício
  • 48. Classe: Casa Atributos: cor, porta1, porta2, porta3 Método: ◦void pinta(String s), ◦int quantasPortasEstaoAbertas() Crie uma casa e pinte-a. Crie três portas e coloque-as na casa; abra e feche as mesmas como desejar. Utilize o método quantasPortasEstaoAbertas para imprimir o número de portas abertas. Exercício
  • 49. Desenvolva um jogo em que um robô deve perseguir um gato. Ambos elementos armazenam coordenadas (x,y). O gato possui ainda seu nome e cor do pelo, enquanto que o robô possui seu nome-código. O gato somente anda em diagonal, sendo que a cada passo define aleatoriamente seu rumo. O robô sempre anda no sentido de diminuir a sua distância em relação ao gato. Este jogo acontece em um tabuleiro, que consiste em uma matriz nxn e possui um gato e um robô movimentando em sua parte superior. Exercício
  • 50. Jsp, Servlets e J2EE. André Temple, Rodrigo Fernandes de Mello, Danival Taffarel Calegari and Maurício Schiezaro. Disponível em: www.inf.ufsc.br/~bosco/downloads/livro-jsp- servlets-j2ee.pdf. W3Schools. Disponível em: http://www.w3schools.com/. Apostila de Java. Caelum. Disponível em: http://www.caelum.com.br/apostila-java-orientacao-objetos/. DEITEL, Paul J.; DEITEL, Harvey M. Java - como programar. 8. ed. São Paulo: Pearson Prentice Hall, 2010. Referências
  • 51. Java Me. Arthur Emanuel de Oliveira Carosia