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

Php, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJFPhp, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJF
Claudson Oliveira
 
Começando com Ruby - III SEICOM
Começando com Ruby - III SEICOMComeçando com Ruby - III SEICOM
Começando com Ruby - III SEICOM
Kenner Kliemann
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
jmtofoli
 
Aula 9 variáveis
Aula 9 variáveisAula 9 variáveis
Aula 9 variáveis
Scratch_TCC
 
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
Cristiano 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
 

Último

Último (8)

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

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)