SlideShare a Scribd company logo
1 of 46
Java, NetBeans 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)
• A JVM interpreta os bytecodes e os
  transforma em linguagem nativa



                   Sun Confidential: Internal Only   4
Java




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




              Sun Confidential: Internal Only   6
JRE x JDK
• JDK - desenvolvimento
• JRE - execução




                  Sun Confidential: Internal Only   7
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
O que é o Netbeans?




 Sun Confidential: Internal Only   9
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
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
O que é o NetBeans?
 Profiler




              Sun Confidential: Internal Only   12
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
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
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
O que é o NetBeans?
Novidades > O Editor




                       Sun Confidential: Internal Only   16
O que é o NetBeans?
Novidades > PHP




                  Sun Confidential: Internal Only   17
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
O que é o NetBeans?
Novidades > Python




                     Sun Confidential: Internal Only   19
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
História do
 Orientação a
Solaris e
   Objetos
OpenSolaris




Sun Confidential: Internal Only   21
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
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
Sun Confidential: Internal Only   24
Sun Confidential: Internal Only   25
Demo
demo

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



                   Sun Confidential: Internal Only   27
Criando uma classe
  O que toda conta é capaz de fazer?
• Sacar
• Depositar
• Verificar saldo




                   Sun Confidential: Internal Only   28
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
2º. Download!
• Tópico → Palestra: Java e Orientação a
  Objetos




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




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




                        Sun Confidential: Internal Only   32
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
A instanciação
• Conta c;

• c = new Conta();




                     Sun Confidential: Internal Only   34
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
Criando classes
  2 tipos de contas:
• Básica
  Limite = 0

• Premium
  Limite = - 200
  Transferência

                       Sun Confidential: Internal Only   36
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
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
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
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
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
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
Sun Confidential: Internal Only   43
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
E depois?
• Certificação SCJP
• Java para Web – jsp + servlets, JSF
• J2ME
• ...




                      Sun Confidential: Internal Only   45
Obrigado!
João Sávio Ceregatti Longo
joao.savio@sun.com / joaosavio@gmail.com
www.joaosavio.com / http://blogs.sun.com/joaosavio


                                                     46

More Related Content

What's hot

Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsIgo Coelho
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com PrimefacesFabio Noth
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)Mario Sergio
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Anderson Araújo
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationMario Sergio
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFRafael Ponte
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDaniel Paz
 
Curso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTCurso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTMario Sergio
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Desenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkDesenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkVitor Silva
 
Curso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endCurso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endMario Sergio
 

What's hot (18)

Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e Servlets
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com Primefaces
 
Java web
Java webJava web
Java web
 
ASP.NET - Conceitos Básicos
ASP.NET - Conceitos BásicosASP.NET - Conceitos Básicos
ASP.NET - Conceitos Básicos
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
JSF - JavaServer Faces
JSF - JavaServer FacesJSF - JavaServer Faces
JSF - JavaServer Faces
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi Builder
 
Curso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTCurso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service REST
 
1409243945064
14092439450641409243945064
1409243945064
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Maven em 10 minutos
Maven em 10 minutosMaven em 10 minutos
Maven em 10 minutos
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Desenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkDesenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A Framework
 
Curso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endCurso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-end
 

Viewers also liked

Apostila programação visual usando java e netbeans
Apostila programação visual usando java e netbeansApostila programação visual usando java e netbeans
Apostila programação visual usando java e netbeansGeorge Dantas
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 
Criando uma Agenda simples com NetBeans
Criando uma Agenda simples com NetBeansCriando uma Agenda simples com NetBeans
Criando uma Agenda simples com NetBeansSerge Rehem
 
Java Server Faces
Java Server FacesJava Server Faces
Java Server FacesJoão Longo
 
Web Services com NetBeans
Web Services com NetBeansWeb Services com NetBeans
Web Services com NetBeansJoão Longo
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolarisJoão Longo
 
Minicurso Java Server Faces
Minicurso Java Server FacesMinicurso Java Server Faces
Minicurso Java Server FacesJoão Longo
 
Tutorial sistema vendas_em_java_com_swing
Tutorial sistema vendas_em_java_com_swingTutorial sistema vendas_em_java_com_swing
Tutorial sistema vendas_em_java_com_swingEverson Wolf
 
Prática de ensino de Linguagem de Programação II
Prática de ensino de Linguagem de Programação IIPrática de ensino de Linguagem de Programação II
Prática de ensino de Linguagem de Programação IIEverson Wolf
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - ConceitosMayron Cachina
 
Mineração, Legislação Mineral e Requerimento de Pesquisa (The Brazilian Minin...
Mineração, Legislação Mineral e Requerimento de Pesquisa (The Brazilian Minin...Mineração, Legislação Mineral e Requerimento de Pesquisa (The Brazilian Minin...
Mineração, Legislação Mineral e Requerimento de Pesquisa (The Brazilian Minin...Saulo Melo
 
A economia mineradora
A economia mineradoraA economia mineradora
A economia mineradoraBriefCase
 
Samir Mamude - Sistemas Comerciais Java EE
Samir Mamude - Sistemas Comerciais Java EESamir Mamude - Sistemas Comerciais Java EE
Samir Mamude - Sistemas Comerciais Java EESamir Mamude
 

Viewers also liked (20)

Apostila programação visual usando java e netbeans
Apostila programação visual usando java e netbeansApostila programação visual usando java e netbeans
Apostila programação visual usando java e netbeans
 
Testando Tomcat Com Netbeans
Testando Tomcat Com NetbeansTestando Tomcat Com Netbeans
Testando Tomcat Com Netbeans
 
Apostila: Netbeans
Apostila: NetbeansApostila: Netbeans
Apostila: Netbeans
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Java swing
Java swingJava swing
Java swing
 
Criando uma Agenda simples com NetBeans
Criando uma Agenda simples com NetBeansCriando uma Agenda simples com NetBeans
Criando uma Agenda simples com NetBeans
 
Java Server Faces
Java Server FacesJava Server Faces
Java Server Faces
 
Carrinho com
Carrinho comCarrinho com
Carrinho com
 
Web Services com NetBeans
Web Services com NetBeansWeb Services com NetBeans
Web Services com NetBeans
 
GlassFish
GlassFishGlassFish
GlassFish
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
Php 101: PDO
Php 101: PDOPhp 101: PDO
Php 101: PDO
 
Minicurso Java Server Faces
Minicurso Java Server FacesMinicurso Java Server Faces
Minicurso Java Server Faces
 
Tutorial sistema vendas_em_java_com_swing
Tutorial sistema vendas_em_java_com_swingTutorial sistema vendas_em_java_com_swing
Tutorial sistema vendas_em_java_com_swing
 
Prática de ensino de Linguagem de Programação II
Prática de ensino de Linguagem de Programação IIPrática de ensino de Linguagem de Programação II
Prática de ensino de Linguagem de Programação II
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
Mineração, Legislação Mineral e Requerimento de Pesquisa (The Brazilian Minin...
Mineração, Legislação Mineral e Requerimento de Pesquisa (The Brazilian Minin...Mineração, Legislação Mineral e Requerimento de Pesquisa (The Brazilian Minin...
Mineração, Legislação Mineral e Requerimento de Pesquisa (The Brazilian Minin...
 
Use a cabeça jsp & servlets
Use a cabeça   jsp & servletsUse a cabeça   jsp & servlets
Use a cabeça jsp & servlets
 
A economia mineradora
A economia mineradoraA economia mineradora
A economia mineradora
 
Samir Mamude - Sistemas Comerciais Java EE
Samir Mamude - Sistemas Comerciais Java EESamir Mamude - Sistemas Comerciais Java EE
Samir Mamude - Sistemas Comerciais Java EE
 

Similar to Java, NetBeans e Orientação a Objetos

Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesRodrigo Peleias
 
Palestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3DPalestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3DRenato Puccini
 
Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!João Longo
 
Desenvolvimento RIA com Java
Desenvolvimento RIA com JavaDesenvolvimento RIA com Java
Desenvolvimento RIA com Javaarmeniocardoso
 
Desenvolvimento Ria com Java
Desenvolvimento Ria com JavaDesenvolvimento Ria com Java
Desenvolvimento Ria com JavaTI Infnet
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Fabrício Catae
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacAndre Baltieri
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformAndré Paulovich
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.Filipe Morelli
 
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...Marcelo Marques Gonçalves
 
Introdução ao Ruby on Rails (InstallFest 2006)
Introdução ao Ruby on Rails (InstallFest 2006)Introdução ao Ruby on Rails (InstallFest 2006)
Introdução ao Ruby on Rails (InstallFest 2006)Julio Monteiro
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros PassosJackson F. de A. Mafra
 
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorMSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorGustavo Bellini Bigardi
 

Similar to Java, NetBeans e Orientação a Objetos (20)

Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 Portugues
 
Netbeans slides
Netbeans slidesNetbeans slides
Netbeans slides
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
 
Palestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3DPalestra SFD etec Netbeans e Java 3D
Palestra SFD etec Netbeans e Java 3D
 
Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!
 
Desenvolvimento RIA com Java
Desenvolvimento RIA com JavaDesenvolvimento RIA com Java
Desenvolvimento RIA com Java
 
Desenvolvimento Ria com Java
Desenvolvimento Ria com JavaDesenvolvimento Ria com Java
Desenvolvimento Ria com Java
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no Mac
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Netbeans
NetbeansNetbeans
Netbeans
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Oficina Sesc Android - V1
Oficina Sesc Android - V1Oficina Sesc Android - V1
Oficina Sesc Android - V1
 
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
 
Introdução ao Ruby on Rails (InstallFest 2006)
Introdução ao Ruby on Rails (InstallFest 2006)Introdução ao Ruby on Rails (InstallFest 2006)
Introdução ao Ruby on Rails (InstallFest 2006)
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
 
Mono Codebits
Mono CodebitsMono Codebits
Mono Codebits
 
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorMSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
 
Web2.0 e Ajax
Web2.0 e AjaxWeb2.0 e Ajax
Web2.0 e Ajax
 

Java, NetBeans e Orientação a Objetos

  • 1. Java, NetBeans e Orientação a Objetos João Sávio Ceregatti Longo Campus Ambassador Sun Microsystems 1
  • 2. História do Um pouco de Java Solaris e OpenSolaris Sun Confidential: Internal Only 2
  • 3. “Write once, run anywhere” Sun Confidential: Internal Only 3
  • 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. Java Sun Confidential: Internal Only 5
  • 6. Plataforma Java • J2SE • J2ME • J2EE Sun Confidential: Internal Only 6
  • 7. JRE x JDK • JDK - desenvolvimento • JRE - execução Sun Confidential: Internal Only 7
  • 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. O que é o Netbeans? Sun Confidential: Internal Only 9
  • 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. 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. O que é o NetBeans? Profiler Sun Confidential: Internal Only 12
  • 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. 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. 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. O que é o NetBeans? Novidades > O Editor Sun Confidential: Internal Only 16
  • 17. O que é o NetBeans? Novidades > PHP Sun Confidential: Internal Only 17
  • 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. O que é o NetBeans? Novidades > Python Sun Confidential: Internal Only 19
  • 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. História do Orientação a Solaris e Objetos OpenSolaris Sun Confidential: Internal Only 21
  • 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. 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
  • 26. Demo demo Sun Confidential: Internal Only 26
  • 27. Criando uma classe O que toda conta bancária tem? • Número • Nome cliente • Saldo • Limite Sun Confidential: Internal Only 27
  • 28. Criando uma classe O que toda conta é capaz de fazer? • Sacar • Depositar • Verificar saldo Sun Confidential: Internal Only 28
  • 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. 2º. Download! • Tópico → Palestra: Java e Orientação a Objetos Sun Confidential: Internal Only 30
  • 31. 3º. Abrir o projeto com o NetBeans Sun Confidential: Internal Only 31
  • 32. Implementação em Java public class Conta { int numero; String nome; double saldo; double limite; Sun Confidential: Internal Only 32
  • 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. A instanciação • Conta c; • c = new Conta(); Sun Confidential: Internal Only 34
  • 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. Criando classes 2 tipos de contas: • Básica Limite = 0 • Premium Limite = - 200 Transferência Sun Confidential: Internal Only 36
  • 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. 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. 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. 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. 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. 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
  • 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. E depois? • Certificação SCJP • Java para Web – jsp + servlets, JSF • J2ME • ... Sun Confidential: Internal Only 45
  • 46. Obrigado! João Sávio Ceregatti Longo joao.savio@sun.com / joaosavio@gmail.com www.joaosavio.com / http://blogs.sun.com/joaosavio 46