You are on page 1of 39

COTI INFORMTICA Java Developer Aula 01 Data: 06/10/2012 Dia 13/10/2012 Nao Havera aula http://www.livrosdesaldo.com.br/index.php?

?route=common/home 5 Aulas Java OO 21 Aulas Java WEB Rodrigo Marques marques.coti@gmail.com 104 Horas + 16 Horas de Struts Marcos Felipe Souza Renato Barramansa Carla Moraes Wallace Amorim Alexandre Rebelo Rodrigo Sampaio Anderson Nascimento (Refazendo) Jader de Carvalho Gustavo Melo

IDE Eclipse NETBEANS

Instalar o JDK Eclipse Copiar e colar http://www.eclipse.org/downloads/ Configurar variavel de ambiente

C:\Arquivos de programas\Java\jdk1.6.0_14\bin

entity -> Entidades (Classes de entidades) Tabelas do banco, regra de negocios.

package entity; /* * Comentrio */ public class Pessoa { }

/* * Pacote -- Pasta */ package entity; /* * As importaes (Classes de ajuda)] * import java.util.List; */ public class Pessoa {

/* * Atributos -- Variavel da classe * Qualificador de acesso * private ( - ) => Visto na propria classe * protected ( # ) => Visto na propria classe e nas heranas * Default ( ~ ) => Visto na propria classe e nas heranas do pacote * public ( + ) => Visto em qualquer classe * Tipo * int, float, double, String, char,... * Nome */ private String nome; private int idade; private char sexo; /* * Metodos -- Funo * void ---- Sem retorno */ public void lerDados(String nome, int idade, char sexo){ /* * this ---> Propria classe (Atributo nome da classe)_ */ this.nome = nome; this.idade = idade; this.sexo = sexo; } public String retornarDados(){ return this.nome + ", " + idade + ", " + sexo; } }

package main; import entity.Pessoa;

public class Main { /* * main --> CTRL + ESPAO + ENTER */ public static void main(String[] args) { /* * Para trabalharmos com uma classe necessrio criar um objeto da classe * Importar classes * CTRL + SHIFT + O -- Importar */ Pessoa p = new Pessoa(); p.lerDados("Jeremias", 24, 'M'); String dados = p.retornarDados(); /*syso + CTRL + ESPAO*/ System.out.println(dados); } }

Tipo primitivo byte, short, int, long char float, double

=> Valores inteiros => Caracter => Valores reais

Wrapper (Classe do Tipo primitive) Byte, Short, Integer, Long Character Float, Double

Encapsulamento Criar atributos private e crier metodos public de entrada e saida de valor para os atributos (set e get)

package entity; public class Produto { private String nome; private Integer quantidade; private Double preco; /* * Encapsulamento -- GET e SET * ALT + SHIFT + S -- GETTER AND SETTER */ public String getNome() { return nome.toUpperCase(); } public void setNome(String nome) { this.nome = nome; } public Integer getQuantidade() { return quantidade; } public void setQuantidade(Integer quantidade) { this.quantidade = quantidade; } public Double getPreco() { return preco; } public void setPreco(Double preco) { this.preco = preco; }

public Double calcTotal(){ return preco * quantidade; }

package main; import java.text.NumberFormat; import entity.Pessoa; import entity.Produto; public class Main { public static String method(){ return "Ola"; } public static void main(String[] args) { /*Pessoa p = new Pessoa(); p.lerDados("Jeremias", 24, 'M'); String dados = p.retornarDados(); System.out.println(dados);*/ Produto prod = new Produto(); prod.setNome("Camisa"); prod.setQuantidade(30); /*prod.setPreco(80.);*/ /*prod.setPreco(80D);*/ /*prod.setPreco(new Double(80));*/ prod.setPreco(80D); /* * NumberFormat -> utilizado para formatar numeros * getNumberInstance() -> Formatar numeros inteiros * getCurrencyInstance() -> Formatar numeros reais */ /*System.out.println(Main.method());*/ NumberFormat nf = NumberFormat.getNumberInstance(); NumberFormat nf2 = NumberFormat.getCurrencyInstance(); nf2.setMaximumFractionDigits(2); nf2.setMinimumFractionDigits(2); System.out.println("Dados do Produto"); System.out.println("Nome: " + prod.getNome()); System.out.println("Quantidade: " + nf.format(prod.getQuantidade())); System.out.println("Preo: " + nf2.format(prod.getPreco())); System.out.println("Total: " + nf2.format(prod.calcTotal())); System.out.println(Math.PI);

} }

Herana SER Generalizao / Especializao Object (java.lang.Object) Toda classe java herda de Object Nao existe herana multiplas no Java

package heranca; public class Pessoa { private String nome; private String email; public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } }

package heranca; import java.util.Date; /* * Herana -- Ser * Funcionario UMA Pessoa */ public class Funcionario extends Pessoa { private Date dataAdmissao; private Double salario; public Date getDataAdmissao() { return dataAdmissao; } public void setDataAdmissao(Date dataAdmissao) { this.dataAdmissao = dataAdmissao; } public Double getSalario() { return salario;

} public void setSalario(Double salario) { this.salario = salario; }

package heranca; /* * Cliente UMA Pessoa * Tudo em Pessoa que for public ou protected Cliente utiliza */ public class Cliente extends Pessoa { private String cpf; public String getCpf() { return cpf; } public void setCpf(String cpf) { this.cpf = cpf; }

package heranca; import import import import import java.text.DateFormat; java.text.SimpleDateFormat; java.util.Calendar; java.util.Date; java.util.GregorianCalendar;

public class Main { public static void main(String[] args) { Funcionario f = new Funcionario(); Cliente c = new Cliente(); f.setNome("Jose"); f.setEmail("jose@gmail.com"); f.setSalario(4500D); GregorianCalendar cal = new GregorianCalendar(2012, 5, 23);

/*Date d = new Date(); System.out.println(d);*/ f.setDataAdmissao(cal.getTime()); System.out.println("Nome: " + f.getNome()); System.out.println("Email: " + f.getEmail()); System.out.println("Salario: " + f.getSalario()); /* * SimpleDateFormat * DateFormat * Classes para formatar a saida de uma data */ System.out.println(f.getDataAdmissao()); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); System.out.println("Admisso: " + sdf.format(f.getDataAdmissao())); DateFormat df = DateFormat.getDateInstance(DateFormat.LONG); System.out.println("Admisso: " + df.format(f.getDataAdmissao())); DateFormat df1 = DateFormat.getDateInstance(DateFormat.MEDIUM); System.out.println("Admisso: " + df1.format(f.getDataAdmissao())); } }

package heranca;

public class Pessoa { private String nome; private String email; public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public void imprimir(){ System.out.println("-----DADOS DE PESSOA-----"); System.out.println("Nome: " + nome); System.out.println("Email: " + email); } }

package heranca; import java.text.DateFormat; import java.util.Date; /* * Herana -- Ser * Funcionario UMA Pessoa */ public class Funcionario extends Pessoa { private Date dataAdmissao; private Double salario; public Date getDataAdmissao() { return dataAdmissao; } public void setDataAdmissao(Date dataAdmissao) { this.dataAdmissao = dataAdmissao; } public Double getSalario() { return salario; } public void setSalario(Double salario) { this.salario = salario; } public void imprimir(){ super.imprimir(); System.out.println("DADOS DE FUNCIONARIO"); System.out.println("Salario: " + salario);

DateFormat df = DateFormat.getDateInstance(DateFormat.LONG); System.out.println("Admisso: " + df.format(dataAdmissao)); } }

package heranca; /* * Cliente UMA Pessoa * Tudo em Pessoa que for public ou protected Cliente utiliza */ public class Cliente extends Pessoa { private String cpf; public String getCpf() { return cpf; } public void setCpf(String cpf) { this.cpf = cpf; } @Override public void imprimir() { // TODO Auto-generated method stub super.imprimir(); System.out.println("DADOS DE CLIENTE"); System.out.println("CPF: " + cpf); }

package heranca; import import import import import java.text.DateFormat; java.text.SimpleDateFormat; java.util.Calendar; java.util.Date; java.util.GregorianCalendar;

public class Main { public static void main(String[] args) { Funcionario f = new Funcionario(); Cliente c = new Cliente(); f.setNome("Jose"); f.setEmail("jose@gmail.com"); f.setSalario(4500D);

GregorianCalendar cal = new GregorianCalendar(2012, 5, 23); /*Date d = new Date(); System.out.println(d);*/ f.setDataAdmissao(cal.getTime()); /* System.out.println("Nome: " + f.getNome()); System.out.println("Email: " + f.getEmail()); System.out.println("Salario: " + f.getSalario()); */ /* * SimpleDateFormat * DateFormat * Classes para formatar a saida de uma data */ /* System.out.println(f.getDataAdmissao()); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); System.out.println("Admisso: " + sdf.format(f.getDataAdmissao())); DateFormat df = DateFormat.getDateInstance(DateFormat.LONG); System.out.println("Admisso: " + df.format(f.getDataAdmissao())); DateFormat df1 = DateFormat.getDateInstance(DateFormat.MEDIUM); System.out.println("Admisso: " + df1.format(f.getDataAdmissao())); */ f.imprimir(); c.setNome("Ana"); c.setEmail("ana@gfmail.com"); c.setCpf("123.123.123-55"); c.imprimir(); } }

package heranca; import java.util.GregorianCalendar; public class Aluno { private private private private String String Double Double nome; email; n1; n2;

/* * Sobrecarga de construtores * Metodo com o mesmo nome porem com a assinaturas diferentes */ public Aluno() { this.nome = "ALUNO 1"; this.email = "aluno@gmail.com"; this.n1 = 0.; this.n2 = 0.;

} public Aluno(String nome, String email){ this.nome = nome; this.email = email; } /* * ALT + SHIFT + S --> Generated Constructor using fields */ public Aluno(String nome, String email, Double n1, Double n2) { super(); /*-->Chamando o construtor vazio da classe Pai --Object*/ this.nome = nome; this.email = email; this.n1 = n1; this.n2 = n2; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Double getN1() { return n1; } public void setN1(Double n1) { this.n1 = n1; } public Double getN2() { return n2; } public void setN2(Double n2) { this.n2 = n2; } public static void main(String[] args) { /* * CLASSE objeto = new CONSTRUTOR() * * Construtor -> Metodo com o mesmo nome da classe que * APENAS no momento que a classe instanciada * * Toda a classe quando "nao possui" construtor, tem um

executado

vazio

*/ Aluno a = new Aluno(); System.out.println(a.getNome()); Aluno a1 = new Aluno("Jose", "jose@gmail.com", 7D, 8D); System.out.println(a1.getNome()); System.out.println(a1.getEmail()); System.out.println((a1.getN1() + a1.getN2()) / 2); } }

Sobrescrita Quando um metodo da classe Filha possui a mesma assinatura do metodo da classe PAI Pessoa + imprimir() : void Funcionario extends Pessoa + imprimir() : void SobreCarga Quando temos um metodo na mesma classe com varias assinaturas diferentes Pessoa + + + + + Pessoa Pessoa Pessoa Pessoa Pessoa () (String (String (String (String

nome) nome, String email) nome, Integer idade) nome, String email, Integer idade)

You might also like