Java e Orientação a
Objetos
João Sávio Ceregatti Longo
Campus Ambassador
Sun Microsystems

                             1
História do
Um pouco de Java
 Solaris e
 OpenSolaris




 Sun Confidential: Internal Only   2
“Write once,
run anywhere”

    Sun Confidential: Internal Only   3
Java
• Não gera um arquivo binário e sim um arquivo
  com bytecodes
• Bytecode é a linguagem da máquina virtual
  (JVM)
• ...
Java




       Sun Confidential: Internal Only   5
Plataforma Java
• J2SE
• J2ME
• J2EE




              Sun Confidential: Internal Only   6
JDK
• Conjunto de ferramentas para se desenvolver
  programas em Java
• javac + JVM + bibliotecas + APIs + utilitários
• O...
JRE
• Conjunto de ferramentas necessárias para a
  execução de programas Java
• JVM + bibliotecas + utilitários




      ...
Por que usar Java?
• Plataforma independente
• Mais de 5 bilhões de dispositivos com Java
• Mais de 6 milhões de desenvolv...
Por que usar Java?

• Comunidade   MUITO GRANDE
      scend
 e c re         o demais

                 Sun Confidential: I...
História do
 Orientação a
Solaris e
   Objetos
OpenSolaris




Sun Confidential: Internal Only   11
Programação Procedural
• Problema da validação do CPF
• Repetição de código
• Pouca reutilização
• Dificuldade na manutenç...
Programação Orientada a Objetos
• Modela o mundo real com classes e objetos

• Classe → especificação para os objetos
• Ob...
Sun Confidential: Internal Only   14
Sun Confidential: Internal Only   15
Demo
demo

 Sun Confidential: Internal Only   16
Criando uma classe
  O que toda conta bancária tem?
• Número
• Nome cliente
• Saldo
• Limite



                   Sun Con...
Criando uma classe
  O que toda conta é capaz de fazer?
• Sacar
• Depositar
• Verificar saldo




                   Sun C...
1º. Registre-se e baixe o projeto
• http://osum.sun.com/group/unesprc

• http://osum.sun.com/group/uniararas

• http://osu...
2º. Download!
• Tópico → Palestra: Java e Orientação a
  Objetos




                   Sun Confidential: Internal Only   ...
3º. Abrir o projeto com o NetBeans




               Sun Confidential: Internal Only   21
Implementação em Java
 public class Conta {
   int numero;
   String nome;
   double saldo;
   double limite;




        ...
Implementação em Java
     public void sacar(int quantidade) {
       saldo = saldo – quantidade;
     }

     public void...
A instanciação
• Conta c;

• c = new Conta();




                     Sun Confidential: Internal Only   24
Testando a classe Conta
 public class Main {

     public static void main(String[] args) {
       Conta c;
       c = new...
Criando classes
  2 tipos de contas:
• Básica
  Limite = 0

• Premium
  Limite = - 200
  Transferência

                  ...
Criando classes
• A conta Básica É-UM tipo de Conta
• A conta Premium É-UM tipo de Conta

• “É-UM” se refere à Herança



...
Implementação em Java
 public class ContaBasica extends Conta {

 }

 public class ContaPremium extends Conta {
    public...
Mas e o limite?
• Utilizaremos a sobrescrição
• ContaBasica e ContaPremium implementarão
  o seu próprio método sacar base...
Mas e o limite?
• Na ContaBasica adicione:
 public void sacar(int quantidade) {
   /*
   if (condição com limite = 0) {
  ...
Mas e o limite?
• Na ContaPremium adicione:
 public void sacar(int quantidade) {
   /*
   if (condição com limite = - 200)...
Juntando tudo
 public class Main {

     public static void main(String[] args) {
       Conta c1 = new ContaBasica();
   ...
Juntando tudo
• E isso foi um exemplo de Polimorfismo!




                   Sun Confidential: Internal Only   33
Polimorfismo
 Conta c2 = new ContaPremium();

• Detalhe: você só vai poder chamar métodos e
  atributos de objetos Conta n...
Polimorfismo
• Pode-se fazer um array de contas contendo
  vários subtipos dela
• Pode-se fazer generalizações




       ...
Sun Confidential: Internal Only   36
E agora, quem poderá me ajudar?
• Apostila fj-11 Caelum:
  www.caelum.com.br

• Treinamentos Sun → SAI (instruções para ac...
E depois?
• Certificação SCJP
• Java para Web – jsp + servlets, JSF
• J2ME
• ...




                      Sun Confidentia...
Obrigado!
João Sávio Ceregatti Longo
joao.savio@sun.com / joaosavio@gmail.com
www.joaosavio.com / http://blogs.sun.com/joa...
Upcoming SlideShare
Loading in …5
×

Java E Orientacao A Objetos

2,840 views

Published on

0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,840
On SlideShare
0
From Embeds
0
Number of Embeds
65
Actions
Shares
0
Downloads
0
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

Java E Orientacao A Objetos

  1. 1. Java e Orientação a Objetos João Sávio Ceregatti Longo Campus Ambassador Sun Microsystems 1
  2. 2. História do Um pouco de Java Solaris e OpenSolaris Sun Confidential: Internal Only 2
  3. 3. “Write once, run anywhere” Sun Confidential: Internal Only 3
  4. 4. Java • Não gera um arquivo binário e sim um arquivo com bytecodes • Bytecode é a linguagem da máquina virtual (JVM) • A JVM interpreta os bytecodes e os transforma em linguagem nativa Sun Confidential: Internal Only 4
  5. 5. Java Sun Confidential: Internal Only 5
  6. 6. Plataforma Java • J2SE • J2ME • J2EE Sun Confidential: Internal Only 6
  7. 7. JDK • Conjunto de ferramentas para se desenvolver programas em Java • javac + JVM + bibliotecas + APIs + utilitários • Open Source Sun Confidential: Internal Only 7
  8. 8. JRE • Conjunto de ferramentas necessárias para a execução de programas Java • JVM + bibliotecas + utilitários Sun Confidential: Internal Only 8
  9. 9. Por que usar Java? • Plataforma independente • Mais de 5 bilhões de dispositivos com Java • Mais de 6 milhões de desenvolvedores pelo mundo • Open Source Sun Confidential: Internal Only 9
  10. 10. Por que usar Java? • Comunidade MUITO GRANDE scend e c re o demais Sun Confidential: Internal Only 10
  11. 11. História do Orientação a Solaris e Objetos OpenSolaris Sun Confidential: Internal Only 11
  12. 12. Programação Procedural • Problema da validação do CPF • Repetição de código • Pouca reutilização • Dificuldade na manutenção Sun Confidential: Internal Only 12
  13. 13. Programação Orientada a Objetos • Modela o mundo real com classes e objetos • Classe → especificação para os objetos • Objeto → instância de uma classe • Com exemplos é mais fácil!!! Sun Confidential: Internal Only 13
  14. 14. Sun Confidential: Internal Only 14
  15. 15. Sun Confidential: Internal Only 15
  16. 16. Demo demo Sun Confidential: Internal Only 16
  17. 17. Criando uma classe O que toda conta bancária tem? • Número • Nome cliente • Saldo • Limite Sun Confidential: Internal Only 17
  18. 18. Criando uma classe O que toda conta é capaz de fazer? • Sacar • Depositar • Verificar saldo Sun Confidential: Internal Only 18
  19. 19. 1º. Registre-se e baixe o projeto • http://osum.sun.com/group/unesprc • http://osum.sun.com/group/uniararas • http://osum.sun.com/group/etebayeux Sun Confidential: Internal Only 19
  20. 20. 2º. Download! • Tópico → Palestra: Java e Orientação a Objetos Sun Confidential: Internal Only 20
  21. 21. 3º. Abrir o projeto com o NetBeans Sun Confidential: Internal Only 21
  22. 22. Implementação em Java public class Conta { int numero; String nome; double saldo; double limite; Sun Confidential: Internal Only 22
  23. 23. Implementação em Java public void sacar(int quantidade) { saldo = saldo – quantidade; } public void depositar(int quantidade) { saldo = saldo + quantidade; } } Sun Confidential: Internal Only 23
  24. 24. A instanciação • Conta c; • c = new Conta(); Sun Confidential: Internal Only 24
  25. 25. Testando a classe Conta public class Main { public static void main(String[] args) { Conta c; c = new Conta(); c.saldo = 10000; c.sacar(1000); System.out.println(“Saldo atual = “ + c.saldo); } } Sun Confidential: Internal Only 25
  26. 26. Criando classes 2 tipos de contas: • Básica Limite = 0 • Premium Limite = - 200 Transferência Sun Confidential: Internal Only 26
  27. 27. Criando classes • A conta Básica É-UM tipo de Conta • A conta Premium É-UM tipo de Conta • “É-UM” se refere à Herança Sun Confidential: Internal Only 27
  28. 28. Implementação em Java public class ContaBasica extends Conta { } public class ContaPremium extends Conta { public void transferir(Conta a, Conta b) { //realiza transferência } } Sun Confidential: Internal Only 28
  29. 29. Mas e o limite? • Utilizaremos a sobrescrição • ContaBasica e ContaPremium implementarão o seu próprio método sacar baseado no limite da conta • O método da subclasse sobrescreverá o método da superclasse Sun Confidential: Internal Only 29
  30. 30. Mas e o limite? • Na ContaBasica adicione: public void sacar(int quantidade) { /* if (condição com limite = 0) { realiza o saque } */ } Sun Confidential: Internal Only 30
  31. 31. Mas e o limite? • Na ContaPremium adicione: public void sacar(int quantidade) { /* if (condição com limite = - 200) { realiza o saque } */ } Sun Confidential: Internal Only 31
  32. 32. Juntando tudo public class Main { public static void main(String[] args) { Conta c1 = new ContaBasica(); c1.sacar(100); //limite = 0 Conta c2 = new ContaPremium(); c2.sacar(100); //limite = - 200 } } Sun Confidential: Internal Only 32
  33. 33. Juntando tudo • E isso foi um exemplo de Polimorfismo! Sun Confidential: Internal Only 33
  34. 34. Polimorfismo Conta c2 = new ContaPremium(); • Detalhe: você só vai poder chamar métodos e atributos de objetos Conta num objeto ContaPremium! Sun Confidential: Internal Only 34
  35. 35. Polimorfismo • Pode-se fazer um array de contas contendo vários subtipos dela • Pode-se fazer generalizações Sun Confidential: Internal Only 35
  36. 36. Sun Confidential: Internal Only 36
  37. 37. E agora, quem poderá me ajudar? • Apostila fj-11 Caelum: www.caelum.com.br • Treinamentos Sun → SAI (instruções para acesso em http://osum.sun.com/group/unesprc) • Grupo de Java: www.javanoroeste.com.br E-mail: javanoroeste-subscribe@googlegroups.com • Fóruns: www.guj.com.br, www.javafree.org Sun Confidential: Internal Only 37
  38. 38. E depois? • Certificação SCJP • Java para Web – jsp + servlets, JSF • J2ME • ... Sun Confidential: Internal Only 38
  39. 39. Obrigado! João Sávio Ceregatti Longo joao.savio@sun.com / joaosavio@gmail.com www.joaosavio.com / http://blogs.sun.com/joaosavio 39

×