SlideShare uma empresa Scribd logo
1 de 18
Orientação à Objetos

Bruno Silva

Introdução em Java
Definição
•

•

Orientação a Objetos: abstração de conceitos
do mundo real.
Conceitos envolvidos:
–
–
–
–
–

Classe
Objeto
Atributo
Método
...
Classe
•

•
•

Define as características comuns de um
conjunto de objetos;
É uma generalização;
Uma receita de bolo :D
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?)
..
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;
}
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.
Métodos da classe
•

Método subir arvore
public void subirArvore() {
System.out.println(“To vendo uma banana daqui!”)
}

•

Método programar
public void programar() {
System.out.println(“debugar isso aqui..”)
}

•

Método caminhar
public void caminhar () {
System.out.println(“é mais fácil pular entre árvores..”)
}
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..”)
}
}
Crie uma classe para Leão...
Voltando...
• Tá faltando algo!
– Como criar e diferenciar os macaco?
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.
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;
}
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
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.
Materializando um macaco..
• Dentro de um código que irá utilizar um macaco..
Linha1
Linha2
Linha3
Linha4

String nome = “Sorriso Colgate”
Double altura = 1.50;
Double peso = 50.00;
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.
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.
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 :D
public 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();
}
}
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)

Mais conteúdo relacionado

Semelhante a Introdução à Orientação a Objeto em Java

Aula 3 introducao a orientação a objetos
Aula 3   introducao a orientação a objetosAula 3   introducao a orientação a objetos
Aula 3 introducao a orientação a objetosRafael Pinheiro
 
Php, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJFPhp, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJFClaudson Oliveira
 
Começando com Ruby - III SEICOM
Começando com Ruby - III SEICOMComeçando com Ruby - III SEICOM
Começando com Ruby - III SEICOMKenner Kliemann
 
Poo slides01
Poo slides01Poo slides01
Poo slides01jmtofoli
 
JavaScript "for dummies"
JavaScript "for dummies"JavaScript "for dummies"
JavaScript "for dummies"Murilo Beltrame
 
PHP, eu escolho você ! @ Vianna Júnior JF
PHP, eu escolho você !  @ Vianna Júnior JFPHP, eu escolho você !  @ Vianna Júnior JF
PHP, eu escolho você ! @ Vianna Júnior JFClaudson Oliveira
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e ExercíciosArthur Emanuel
 
Aula 9 variáveis
Aula 9 variáveisAula 9 variáveis
Aula 9 variáveisScratch_TCC
 
Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfssuser6e99cd
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaArthur Emanuel
 
Especialização e generalização em java
Especialização e generalização em javaEspecialização e generalização em java
Especialização e generalização em javaDiogo Winck
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 

Semelhante a Introdução à Orientação a Objeto em Java (15)

Aula 3 introducao a orientação a objetos
Aula 3   introducao a orientação a objetosAula 3   introducao a orientação a objetos
Aula 3 introducao a orientação a objetos
 
Php, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJFPhp, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJF
 
Começando com Ruby - III SEICOM
Começando com Ruby - III SEICOMComeçando com Ruby - III SEICOM
Começando com Ruby - III SEICOM
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
JavaScript "for dummies"
JavaScript "for dummies"JavaScript "for dummies"
JavaScript "for dummies"
 
PHP, eu escolho você ! @ Vianna Júnior JF
PHP, eu escolho você !  @ Vianna Júnior JFPHP, eu escolho você !  @ Vianna Júnior JF
PHP, eu escolho você ! @ Vianna Júnior JF
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Aula 9 variáveis
Aula 9 variáveisAula 9 variáveis
Aula 9 variáveis
 
Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdf
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
 
Especialização e generalização em java
Especialização e generalização em javaEspecialização e generalização em java
Especialização e generalização em java
 
Aula 1 3
Aula 1 3Aula 1 3
Aula 1 3
 
Java 07
Java 07Java 07
Java 07
 
Aula4
Aula4Aula4
Aula4
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 

Introdução à Orientação a Objeto em Java

  • 1. Orientação à Objetos Bruno Silva Introdução em Java
  • 2. Definição • • Orientação a Objetos: abstração de conceitos do mundo real. Conceitos envolvidos: – – – – – Classe Objeto Atributo Método ...
  • 3. Classe • • • Define as características comuns de um conjunto de objetos; É uma generalização; Uma receita de bolo :D
  • 4. 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?) ..
  • 5. 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; }
  • 6. 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.
  • 7. Métodos da classe • Método subir arvore public void subirArvore() { System.out.println(“To vendo uma banana daqui!”) } • Método programar public void programar() { System.out.println(“debugar isso aqui..”) } • Método caminhar public void caminhar () { System.out.println(“é mais fácil pular entre árvores..”) }
  • 8. 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..”) } }
  • 9. Crie uma classe para Leão...
  • 10. Voltando... • Tá faltando algo! – Como criar e diferenciar os macaco?
  • 11. 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.
  • 12. 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; }
  • 13. 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
  • 14. 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.
  • 15. Materializando um macaco.. • Dentro de um código que irá utilizar um macaco.. Linha1 Linha2 Linha3 Linha4 String nome = “Sorriso Colgate” Double altura = 1.50; Double peso = 50.00; 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.
  • 16. 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.
  • 17. 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 :D public 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(); } }
  • 18. 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)