quarta-feira, 11 de maio de 2016

Link para Download IDE netbeans 8

https://netbeans.org/downloads/

IDE Java

Java Exercício simulação Contas Bancaria "extends" estendendo Classes "@Override".

package dominiobanco;


public class GerenciarConta {

 
    public static void main(String[] args) {
      //Criar cliente e agencia
        Agencia ag1 = new Agencia();
        ag1.cidade = "Mogi Mirim";
        ag1.idAgencia = 1;
        ag1.estado = "SP";
        Cliente cli1 = new Cliente();
        cli1.idCliente = 1;
        cli1.nome = "Maromo";
       
        //
        Poupanca minhaConta = new Poupanca();
        minhaConta.idConta = 234;
        minhaConta.agencia = ag1;
        minhaConta.cliente = cli1;
        minhaConta.diaAniversario = 13;
        //Depositar
        minhaConta.efetuarDeposito(1500);
       
        //Sacar
        minhaConta.efetuarRetirada(3000.0);
     
        //Imprimir dados da conta
        minhaConta.imprimir();
     
    }
   
}
________________________________________________________________________________

package dominiobanco;


public class Agencia {
    public int idAgencia;
    public String cidade;
    public String estado;
}

_________________________________________________________________________________

package dominiobanco;

public class Cliente {
   public int idCliente;
   public String nome;
   
}
________________________________________________________________________________

package dominiobanco;

public abstract class Conta {

    public int idConta;
    public Cliente cliente;
    public Agencia agencia;
    public double saldo;

    //Métodos
    public void efetuarDeposito(double valor) {
        this.saldo += valor;
    }

    public void efetuarRetirada(double valor) {
        if (valor <= this.saldo) {
            this.saldo -= valor;
        } else {
            System.out.println("Sem saldo suficiente");
        }
    }

    public void imprimir() {
        System.out.println("Dados da Conta..");
        System.out.println("Id Conta: " + idConta);
        System.out.println("Cliente: " + cliente.nome);
        System.out.println("Cidade da Aencia: " + agencia.cidade);
        System.out.println("SALDO: " + saldo);
    }
}
_________________________________________________________________________________

package dominiobanco;

public class Corrente extends Conta {
    //atributos
    public boolean temEspecial;
    public double valorLimite;
    
    //Método - Reescrita do efetuarRetirada - sobrescrita
    @Override
    public void efetuarRetirada(double valor){
        if (valor<= (this.saldo + this.valorLimite)){
            this.saldo -= valor;
        }else{
            System.out.println("Sem saldo / Limite para saque");
        }
    }
    @Override
    public void imprimir(){
        super.imprimir();
        if(temEspecial){
            System.out.println("Valor Limite: " + valorLimite);
        }
    }
}
______________________________________________________________________________

package dominiobanco;

public class Poupanca extends Conta {
    public int diaAniversario;
    
    
    @Override
    public void imprimir(){
        super.imprimir();
        System.out.println("Dia Aniversário: " + diaAniversario);
    }
}
_______________________________________________________________________________

package dominiobanco;

public class RendaFixa extends Conta {
    public int codigoAplicacao;
    
    @Override
    public void imprimir(){
        super.imprimir();
        System.out.println("Cod. Aplicação: " +codigoAplicacao);
    }
}

Exercício Java "extends" classe, Simulando Controle de Entrada e Saida de Funcionários de uma Empresa,.

package controleponto;

import java.time.LocalDate;
import java.time.LocalDateTime;


public class GerenciarControlePonto {

 
    public static void main(String[] args) throws InterruptedException {
      Gerente gerente = new Gerente();
      gerente.setIdFunc(1);
      gerente.setNome("Clayton");
      gerente.setEmail("claytonklen@123.com");
      gerente.setDocumento("343.543.564.2");
   
      Secretaria secretaria = new Secretaria();
      secretaria.setIdFunc(2);
      secretaria.setNome("Maria");
      secretaria.setEmail("maria@123.com");
      secretaria.setDocumento("343.234.444.2");
   
      Operador operador = new Operador();
      operador.setIdFunc(3);
      operador.setNome("Joao");
      operador.setEmail("joao@123.com");
      operador.setDocumento("342.443.321.1");
   
      RegistroPonto registro = new RegistroPonto();
      registro.setFunc(gerente);
      registro.setDataRegistro(LocalDate.now());
      registro.setHoraEntrada(LocalDateTime.now());
      Thread.sleep(1000);
      registro.apresentarRegistroPonto();
   
      RegistroPonto registro1 = new RegistroPonto();
      registro1.setFunc(secretaria);
      registro1.setDataRegistro(LocalDate.now());
      registro1.setHoraEntrada(LocalDateTime.now());
      Thread.sleep(1000);
      registro1.apresentarRegistroPonto();
   
      RegistroPonto registro2 = new RegistroPonto();
      registro2.setFunc(operador);
      registro2.setDataRegistro(LocalDate.now());
      registro2.setHoraEntrada(LocalDateTime.now());
      Thread.sleep(1000);
      registro2.setHoraSaida(LocalDateTime.now());
      registro2.apresentarRegistroPonto();
   
      RegistroPonto registro3 = new RegistroPonto();
      registro3.setFunc(gerente);
      registro3.setDataRegistro(LocalDate.now());
      registro3.getHoraEntrada();
      Thread.sleep(2000);
      registro3.setHoraSaida(LocalDateTime.now());
      registro3.apresentarRegistroPonto();
   
      RegistroPonto registro4 = new RegistroPonto();
      registro4.setFunc(secretaria);
      registro4.setDataRegistro(LocalDate.now());
      registro4.getHoraEntrada();
      Thread.sleep(2000);
      registro4.setHoraSaida(LocalDateTime.now());
      registro4.apresentarRegistroPonto();
   
      RegistroPonto registro5 = new RegistroPonto();
      registro5.setFunc(operador);
      registro5.setDataRegistro(LocalDate.now());
      registro5.getHoraEntrada();
      Thread.sleep(2000);
      registro5.setHoraSaida(LocalDateTime.now());
      registro5.apresentarRegistroPonto();
   
   
    }
 
}
_________________________________________________________________________________

package controleponto;


public abstract class Funcionario {
   private int idFunc;
   private String nome;
   private String email;
   private String documento;
   

    

    public int getIdFunc() {
        return idFunc;
    }

    public void setIdFunc(int idFunc) {
        this.idFunc = idFunc;
    }

    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 String getDocumento() {
        return documento;
    }

    public void setDocumento(String documento) {
        this.documento = documento;
    }
   
   
}
______________________________________________________________________________


package controleponto;


public class Gerente extends Funcionario {
    private String login;
    private String senha;

    
    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }
    
}

________________________________________________________________________________


package controleponto;


public class Operador extends Funcionario {
   private double valor;

   
    public double getValor() {
        return valor;
    }

    public void setValor(double valor) {
        this.valor = valor;
    }
   
}
_________________________________________________________________________________


package controleponto;

import java.time.LocalDate;
import java.time.LocalDateTime;


public class RegistroPonto {
    private long idRegPonto;
    private Funcionario func;
    private LocalDate dataRegistro;
    private LocalDateTime horaEntrada;
    private LocalDateTime horaSaida;

    public long getIdRegPonto() {
        return idRegPonto;
    }

    public void setIdRegPonto(long idRegPonto) {
        this.idRegPonto = idRegPonto;
    }

    public Funcionario getFunc() {
        return func;
    }

    public void setFunc(Funcionario func) {
        this.func = func;
    }

    public LocalDate getDataRegistro() {
        return dataRegistro;
    }

    public void setDataRegistro(LocalDate dataRegistro) {
        this.dataRegistro = dataRegistro;
    }

    public LocalDateTime getHoraEntrada() {
        return horaEntrada;
    }

    public void setHoraEntrada(LocalDateTime horaEntrada) {
        this.horaEntrada = horaEntrada;
    }

    public LocalDateTime getHoraSaida() {
        return horaSaida;
    }

    public void setHoraSaida(LocalDateTime horaSaida) {
        this.horaSaida = horaSaida;
    }
    
    public void apresentarRegistroPonto(){
        System.out.println("======== Registro Pontos Funcionarios =======");
        System.out.println("ID: "+ this.func.getIdFunc());
        System.out.println("Funcionario: "+ this.func.getNome() );
        System.out.println("E-mail: "+ this.func.getEmail());
        System.out.println("Documento: "+ this.func.getDocumento());
        System.out.println("Data de Registro: "+ this.dataRegistro);
        System.out.println("Horário Entrada: "+this.horaEntrada);
        System.out.println("Horario Saida: "+this.horaSaida);
    }
    
}
________________________________________________________________________________


package controleponto;


public class Secretaria extends Funcionario {
    private String telefone;
    private String ramal;

   
    
    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    public String getRamal() {
        return ramal;
    }

    public void setRamal(String ramal) {
        this.ramal = ramal;
    }
    
}