Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java, NetBeans e Orientação a Objetos

12,775 views

Published on

Published in: Technology
  • Login to see the comments

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

×