Java: Introdução à Orientação a Objetos

51
Java: Introdução à Orientação a Objetos Me. Arthur Emanuel de Oliveira Carosia

Transcript of Java: Introdução à Orientação a Objetos

Page 1: Java: Introdução à Orientação a Objetos

Java: Introdução à Orientação a Objetos

Me. Arthur Emanuel de Oliveira Carosia

Page 2: Java: Introdução à Orientação a Objetos

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

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

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

O que toda conta possui e é relevante?

Introdução

Page 6: Java: Introdução à Orientação a Objetos

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

O que toda conta faz e é importante?

Introdução

Page 8: Java: Introdução à Orientação a Objetos

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

Introdução

Page 10: Java: Introdução à Orientação a Objetos

Introdução

Definição(Classe)

Page 11: Java: Introdução à Orientação a Objetos

Introdução

Instância(Objeto)

Page 12: Java: Introdução à Orientação a Objetos

A palavra classe vem da taxonomia da biologia.

Introdução

Page 13: Java: Introdução à Orientação a Objetos

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

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

IntroduçãoClasse Objeto (Instância)

Page 16: Java: Introdução à Orientação a Objetos

Introdução

Receita de Bolo

Classe Objeto (Instância)

Page 17: Java: Introdução à Orientação a Objetos

Introdução

Receita de Bolo Bolo de Chocolate

Classe Objeto (Instância)

Page 18: Java: Introdução à Orientação a Objetos

Introdução

Receita de Bolo Bolo de Chocolate

Cachorro

Classe Objeto (Instância)

Page 19: Java: Introdução à Orientação a Objetos

Introdução

Receita de Bolo Bolo de Chocolate

Cachorro Bidu

Classe Objeto (Instância)

Page 20: Java: Introdução à Orientação a Objetos

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

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

Criando a classe Conta com os atributos que descrevem a classe.

Uma classe em Java

Page 23: Java: Introdução à Orientação a Objetos

Uma classe em JavaAdicionando métodos, ou seja, os comportamentos da classe

Page 24: Java: Introdução à Orientação a Objetos

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

Uma classe em Java

Page 26: Java: Introdução à Orientação a Objetos

Uma classe em Java

Criação do objeto

Page 27: Java: Introdução à Orientação a Objetos

Uma classe em Java

Acesso aos atributos da classe

Page 28: Java: Introdução à Orientação a Objetos

Uma classe em Java

 invocação de método

 invocação de método

Page 29: Java: Introdução à Orientação a Objetos

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

Uma classe em JavaExemplos de invocação do método saca

Page 31: Java: Introdução à Orientação a Objetos

Uma classe em JavaUtilizando mais de uma conta

Page 32: Java: Introdução à Orientação a Objetos

Uma classe em JavaRepresentação de uma classe.

Page 33: Java: Introdução à Orientação a 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.

Objetos

Page 34: Java: Introdução à Orientação a Objetos

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

Classes e Objetos

Page 36: Java: Introdução à Orientação a 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. ◦Possuem estado e comportamento.

Resumindo

Page 37: Java: Introdução à Orientação a Objetos

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

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

Caso 1

Objetos e Referências

Page 40: Java: Introdução à Orientação a Objetos

Caso 2

Objetos e Referências

Page 41: Java: Introdução à Orientação a Objetos

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

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

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

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

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

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

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

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

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

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

Java

Me. Arthur Emanuel de Oliveira Carosia