introdução à orientação a objeto em java

18
Orientação à Objetos Bruno Silva Introdução em Java

Upload: bruno-machado

Post on 28-Jun-2015

155 views

Category:

Technology


1 download

DESCRIPTION

Introdução aos conceitos básicos da Orientação a Objeto, usando Java como linguagem de programação.

TRANSCRIPT

Page 1: Introdução à Orientação a Objeto em Java

Orientação à Objetos

Bruno Silva

Introdução em Java

Page 2: Introdução à Orientação a Objeto em Java

Definição

• Orientação a Objetos: abstração de conceitos do mundo real.

• Conceitos envolvidos:– Classe– Objeto– Atributo– Método– ...

Page 3: Introdução à Orientação a Objeto em Java

Classe

• Define as características comuns de um conjunto de objetos;

• É uma generalização; • Uma receita de bolo :D

Page 4: Introdução à Orientação a Objeto em Java

Receita de macacos• Classe Macaco (generalizando os macacos..)

– Quais atributos definem um macaco qualquer?• Possui Nome• Possui uma altura• Possui um peso• ...

– O que um macaco pode fazer qualquer?• Anda• Respira• Come Banana• Programa(wtf?)• ..

Page 5: Introdução à Orientação a Objeto em Java

Atributos• Quais atributos deve ter a Classe Macaco?

Def.: Os atributos descrevem a Classe, modelando-a• Macacos..

– Possuem Nome? – Possuem uma altura?– Possuem um peso?– …

Class Macaco {String nome;Double altura;Double peso;

}

Page 6: Introdução à Orientação a Objeto em Java

Métodos da classe

• O que qualquer macaco pode fazer?• Andar• Respirar• Comer Banana• Programar(!?)• ..

• Métodos definem, então, as habilidades que os objetos de uma classe terão.

Page 7: Introdução à Orientação a Objeto em Java

Métodos da classe• Método subir arvore

public void subirArvore() {System.out.println(“To vendo uma banana daqui!”)

}

• Método programarpublic void programar() {

System.out.println(“debugar isso aqui..”)}

• Método caminharpublic void caminhar () {

System.out.println(“é mais fácil pular entre árvores..”)}

Page 8: Introdução à Orientação a Objeto em Java

Classe Macaco (até agora)public Class Macaco {

String nome;Double altura;Double peso;

public void subirArvore() {System.out.println(“To vendo uma banana daqui!”)

}

public void programar() {System.out.println(“debugar isso aqui..”)

}

public void caminhar() {System.out.println(“é mais fácil pular entre árvores..”)

}

}

Page 9: Introdução à Orientação a Objeto em Java

Crie uma classe para Leão...

Page 10: Introdução à Orientação a Objeto em Java

Voltando...

• Tá faltando algo! – Como criar e diferenciar os macaco?

Page 11: Introdução à Orientação a Objeto em Java

Como criar Objetos

• Objetos são “materialização” da nossa “receita de bolo”.– Objetos são “feitos” a partir da Classe (receita).– Essa materialização se dá através do método construtor.

Page 12: Introdução à Orientação a Objeto em Java

Método construtor?! Wtf?

– Métodos construtores de uma classe deve:• Possuir o mesmo nome da classe.• Receber parâmetros, caso desejem preencher atributos.• Não devem retornar nada, pois criam objetos :D

– Para classe Macaco teriamos:

public Macaco (String nomeMacaco, Double alturaMacaco, Double pesoMacaco) {nome = nomeMacaco ;altura = alturaMacaco;peso = pesoMacaco;

}

Page 13: Introdução à Orientação a Objeto em Java

Mas depois de construir? Oq eu faço?

• Variáveis– Variáveis apontam para objetos.– Variáveis só podem apontar para um de um tipo

específico de objeto (uma classe)• Isso pq Java é fortemente tipado

Page 14: Introdução à Orientação a Objeto em Java

Declarando variável

• Código:

Macaco macacoOrelhudo;

– Define uma varíavel que pode apontar para objetos que tenham origem a classe Macaco.

– Variável possui como nome “macacoOrelhudo”– Ainda não aponta para nenhum macaco, visto que

ele não foi criado.

Page 15: Introdução à Orientação a Objeto em Java

Materializando um macaco..• Dentro de um código que irá utilizar um macaco..

Linha1 String nome = “Sorriso Colgate”Linha2 Double altura = 1.50;Linha3 Double peso = 50.00;Linha4 Macaco macacoSorridente = new Macaco(nome, altura, peso);

Na linha 4 do código, são passados os parâmetros para a materialização (construção) de um objeto macaco, que será apontado pela variável macacoSorridente. Assim, o objeto macaco criado será referenciado por esta variável.

Page 16: Introdução à Orientação a Objeto em Java

Tchaarammm!

macacoSorridente =

Temos uma referência para o macaco! o/A partir de agora, posso mandar esse macaco andar, programar, comer banana... Sem a variável, não seria possível ter controle do macaco.

Page 17: Introdução à Orientação a Objeto em Java

Programa final (Macaco.java)public Class Macaco {

String nome;Double altura;Double peso;

public Macaco (String nomeMacaco, Double alturaMacaco, Double pesoMacaco) {nome = nomeMacaco ;altura = alturaMacaco;peso = pesoMacaco;

}public void subirArvore() {

System.out.println(“To vendo uma banana daqui!”)}public void programar() {

System.out.println(“debugar isso aqui..”)}public void caminhar() {

System.out.println(“é mais fácil pular entre árvores..”)}//motor do código, utiliza um macaco :Dpublic static void main(String[] args) {

String nome = “Sorriso Colgate”Double altura = 1.50;Double peso = 50.00;Macaco macacoSorridente = new Macaco(nome, altura, peso);macacoSorridente.andar();

}}

Page 18: Introdução à Orientação a Objeto em Java

Fim

• Então até aqui já sabemos:– Definir uma classe básica– Referenciar objetos

• Próximas tarefas:– Definir interação entre classes– Tipos de atributos e visibilidade (public/private /protected)