Introdução à Orientação a Objeto em Java
-
Upload
bruno-machado -
Category
Technology
-
view
156 -
download
1
description
Transcript of Introdução à Orientação a Objeto em Java
![Page 1: Introdução à Orientação a Objeto em Java](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/1.jpg)
Orientação à Objetos
Bruno Silva
Introdução em Java
![Page 2: Introdução à Orientação a Objeto em Java](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/2.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/3.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/4.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/5.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/6.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/7.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/8.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/9.jpg)
Crie uma classe para Leão...
![Page 10: Introdução à Orientação a Objeto em Java](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/10.jpg)
Voltando...
• Tá faltando algo! – Como criar e diferenciar os macaco?
![Page 11: Introdução à Orientação a Objeto em Java](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/11.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/12.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/13.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/14.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/15.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/16.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/17.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022052412/558fbab41a28aba3508b46cf/html5/thumbnails/18.jpg)
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)