Download - Java: Introdução à Orientação a Objetos
![Page 1: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/1.jpg)
Java: Introdução à Orientação a Objetos
Me. Arthur Emanuel de Oliveira Carosia
![Page 2: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/2.jpg)
IntroduçãoConsidere um programa para um banco.
◦Quais seriam os seus elementos relevantes para o desenvolvimento?
![Page 3: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/3.jpg)
IntroduçãoConsidere um programa para um banco.
◦Quais seriam os seus elementos relevantes para o desenvolvimento?
- Conta bancária;- Clientes;- Seguros,
- etc.
![Page 4: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/4.jpg)
Considere um programa para um banco.◦Quais seriam os seus elementos relevantes para
o desenvolvimento?- Conta bancária;- Clientes;- Seguros,
- etc.
Introdução
![Page 5: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/5.jpg)
O que toda conta possui e é relevante?
Introdução
![Page 6: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/6.jpg)
O que toda conta possui e é relevante?◦Número da conta;◦Nome do dono da conta;◦Saldo;◦Limite.
Introdução
![Page 7: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/7.jpg)
O que toda conta faz e é importante?
Introdução
![Page 8: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/8.jpg)
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
![Page 9: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/9.jpg)
Introdução
![Page 10: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/10.jpg)
Introdução
Definição(Classe)
![Page 11: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/11.jpg)
Introdução
Instância(Objeto)
![Page 12: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/12.jpg)
A palavra classe vem da taxonomia da biologia.
Introdução
![Page 13: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/13.jpg)
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
![Page 14: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/14.jpg)
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
![Page 15: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/15.jpg)
IntroduçãoClasse Objeto (Instância)
![Page 16: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/16.jpg)
Introdução
Receita de Bolo
Classe Objeto (Instância)
![Page 17: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/17.jpg)
Introdução
Receita de Bolo Bolo de Chocolate
Classe Objeto (Instância)
![Page 18: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/18.jpg)
Introdução
Receita de Bolo Bolo de Chocolate
Cachorro
Classe Objeto (Instância)
![Page 19: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/19.jpg)
Introdução
Receita de Bolo Bolo de Chocolate
Cachorro Bidu
Classe Objeto (Instância)
![Page 20: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/20.jpg)
Introdução
Receita de Bolo Bolo de Chocolate
Cachorro Bidu
Time de Futebol
Classe Objeto (Instância)
![Page 21: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/21.jpg)
Introdução
Receita de Bolo Bolo de Chocolate
Cachorro Bidu
Time de Futebol Corinthians
Classe Objeto (Instância)
![Page 22: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/22.jpg)
Criando a classe Conta com os atributos que descrevem a classe.
Uma classe em Java
![Page 23: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/23.jpg)
Uma classe em JavaAdicionando métodos, ou seja, os comportamentos da classe
![Page 24: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/24.jpg)
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
![Page 25: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/25.jpg)
Uma classe em Java
![Page 26: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/26.jpg)
Uma classe em Java
Criação do objeto
![Page 27: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/27.jpg)
Uma classe em Java
Acesso aos atributos da classe
![Page 28: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/28.jpg)
Uma classe em Java
invocação de método
invocação de método
![Page 29: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/29.jpg)
Uma classe em JavaAlterando o método saca para não deixar sacar mais dinheiro do que a conta tem.
![Page 30: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/30.jpg)
Uma classe em JavaExemplos de invocação do método saca
![Page 31: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/31.jpg)
Uma classe em JavaUtilizando mais de uma conta
![Page 32: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/32.jpg)
Uma classe em JavaRepresentação de uma classe.
![Page 33: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/33.jpg)
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
![Page 34: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/34.jpg)
Um programa Orientado a Objetos possui:
◦objetos se comunicando através de troca de mensagens
Objetos
![Page 35: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/35.jpg)
Classes e Objetos
![Page 36: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/36.jpg)
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. ◦Possuem estado e comportamento.
Resumindo
![Page 37: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/37.jpg)
ExercícioEscreva 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)
![Page 38: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/38.jpg)
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
![Page 39: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/39.jpg)
Caso 1
Objetos e Referências
![Page 40: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/40.jpg)
Caso 2
Objetos e Referências
![Page 41: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/41.jpg)
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
![Page 42: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/42.jpg)
Também podem ser atribuídos valores default no momento da criação da classe:
Atributos
![Page 43: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/43.jpg)
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 Java. Teste-a, usando uma outra classe que tenha o main.
Exercício
![Page 44: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/44.jpg)
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
![Page 45: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/45.jpg)
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
![Page 46: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/46.jpg)
Exercício
Escreva uma classe que represente um país. Um país tem como atributos o seu nome, o nome da capital, sua dimensão em Km2 e uma lista de países com os quais ele faz fronteira. Implemente os métodos:
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.
![Page 47: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/47.jpg)
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
![Page 48: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/48.jpg)
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
![Page 49: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/49.jpg)
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
![Page 50: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/50.jpg)
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
![Page 51: Java: Introdução à Orientação a Objetos](https://reader036.vdocuments.pub/reader036/viewer/2022062400/5872a0c31a28ab07208b5afb/html5/thumbnails/51.jpg)
Java
Me. Arthur Emanuel de Oliveira Carosia