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

Post on 09-Jan-2017

32 views 3 download

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

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

Me. Arthur Emanuel de Oliveira Carosia

IntroduçãoConsidere um programa para um banco.

◦Quais seriam os seus elementos relevantes para o desenvolvimento?

IntroduçãoConsidere 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çãoClasse 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 JavaAdicionando 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 JavaAlterando o método saca para não deixar sacar mais dinheiro do que a conta tem.

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

Uma classe em JavaUtilizando mais de uma conta

Uma classe em JavaRepresentaçã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. ◦Possuem estado e comportamento.

Resumindo

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)

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 Java. Teste-a, usando uma outra classe que tenha o main.

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

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.

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