Java, NetBeans e Orientação a Objetos

12,057 views

Published on

Published in: Technology

Java, NetBeans e Orientação a Objetos

  1. 1. Java, NetBeans 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. JRE x JDK • JDK - desenvolvimento • JRE - execução Sun Confidential: Internal Only 7
  8. 8. Por que usar Java? • Plataforma independente • Mais de 5 bilhões de dispositivos com Java • Mais de 6 milhões de desenvolvedores pelo mundo • Comunidade MUITO GRANDE • Open Source • IDE NetBeans Sun Confidential: Internal Only 8
  9. 9. O que é o Netbeans? Sun Confidential: Internal Only 9
  10. 10. O que é o NetBeans? • Um IDE multi-linguagens • Uma plataforma para construir aplicações • Uma comunidade Open Source de sucesso • Muito fácil de usar Footnote position, 12 pts. Sun Confidential: Internal Only 10
  11. 11. O que é o NetBeans? Tecnologias suportadas... Algumas bem populares ;) Ajax Java EE SOA C/C++ Java ME UML JSF Java SE Web JSP Javascript WSDL CSS PHP XML SQL HTML MIDP JavaDB REST CLDC MySQL CVS CDC PostgreSQL SVN EJB JDBC Rich Client Platform JAX-WS Ant Ruby JSTL E muito mais... Sun Confidential: Internal Only 11
  12. 12. O que é o NetBeans? Profiler Sun Confidential: Internal Only 12
  13. 13. O que é o NetBeans? Desenvolvimento para dispositivos móveis Suporte para Java ME – CLDC/CDC Sun Wireless Toolkit incluso Desenvolvimento Visual para celulares Novo contrutor de games que suporta MIDP 2.0 Game API Suporte para SVG UI Sun Confidential: Internal Only 13
  14. 14. O que é o NetBeans? Desenvolvimento C/C++ Full Edit-Compile-Debug project support and editor Complementação de código, mecanismo de busca de linha de código, etc. Desenvolvimento Remoto Suporte para aplicações empacotadas Trabalha com GCC & Compilador Sun Studio Sun Confidential: Internal Only 14
  15. 15. O que é o NetBeans? Novidades > Visual Web Development Desenvolvimento Web Visual com drag 'n drop Inclui componentes AJAX e JavaServer Faces Navegação de páginas Visual Editor CSS Visual Sun Confidential: Internal Only 15
  16. 16. O que é o NetBeans? Novidades > O Editor Sun Confidential: Internal Only 16
  17. 17. O que é o NetBeans? Novidades > PHP Sun Confidential: Internal Only 17
  18. 18. O que é o NetBeans? Novidades > Ruby Suporte para Ruby e Jruby Melohras no editor Complementação de código Suporte para Ruby, RSpec, e arquivos YAML Geração de projetos Rails Agente de instalação Ruby Gems Debugger Suporte à WEBrick, Mongrel, GlassFish Sun Confidential: Internal Only 18
  19. 19. O que é o NetBeans? Novidades > Python Sun Confidential: Internal Only 19
  20. 20. O que é o NetBeans? Em qual SO posso rodá-lo? Arquivos binários para Solaris, Linux, MS Windows, e Mac OSX 100% Java Apenas baixe e rode em qualquer OS com uma JRE! Sun Confidential: Internal Only 20
  21. 21. História do Orientação a Solaris e Objetos OpenSolaris Sun Confidential: Internal Only 21
  22. 22. 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 22
  23. 23. 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 23
  24. 24. Sun Confidential: Internal Only 24
  25. 25. Sun Confidential: Internal Only 25
  26. 26. Demo demo Sun Confidential: Internal Only 26
  27. 27. Criando uma classe O que toda conta bancária tem? • Número • Nome cliente • Saldo • Limite Sun Confidential: Internal Only 27
  28. 28. Criando uma classe O que toda conta é capaz de fazer? • Sacar • Depositar • Verificar saldo Sun Confidential: Internal Only 28
  29. 29. 1º. Registre-se e baixe o projeto • http://osum.sun.com/group/unesprc • http://osum.sun.com/group/uniararas • http://osum.sun.com/group/asserrc • http://osum.sun.com/group/etebayeux Sun Confidential: Internal Only 29
  30. 30. 2º. Download! • Tópico → Palestra: Java e Orientação a Objetos Sun Confidential: Internal Only 30
  31. 31. 3º. Abrir o projeto com o NetBeans Sun Confidential: Internal Only 31
  32. 32. Implementação em Java public class Conta { int numero; String nome; double saldo; double limite; Sun Confidential: Internal Only 32
  33. 33. Implementação em Java public void sacar(int quantidade) { saldo = saldo – quantidade; } public void depositar(int quantidade) { saldo = saldo + quantidade; } } Sun Confidential: Internal Only 33
  34. 34. A instanciação • Conta c; • c = new Conta(); Sun Confidential: Internal Only 34
  35. 35. 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 35
  36. 36. Criando classes 2 tipos de contas: • Básica Limite = 0 • Premium Limite = - 200 Transferência Sun Confidential: Internal Only 36
  37. 37. 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 37
  38. 38. 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 38
  39. 39. 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 39
  40. 40. 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 40
  41. 41. 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 41
  42. 42. Juntando tudo public class Main { public static void main(String[] args) { ContaBasica c1 = new ContaBasica(); c1.sacar(100); //limite = 0 ContaPremium c2 = new ContaPremium(); c2.sacar(100); //limite = - 200 } } Sun Confidential: Internal Only 42
  43. 43. Sun Confidential: Internal Only 43
  44. 44. 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 44
  45. 45. E depois? • Certificação SCJP • Java para Web – jsp + servlets, JSF • J2ME • ... Sun Confidential: Internal Only 45
  46. 46. Obrigado! João Sávio Ceregatti Longo joao.savio@sun.com / joaosavio@gmail.com www.joaosavio.com / http://blogs.sun.com/joaosavio 46

×