quarta-feira, 11 de maio de 2016

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;
    }
    
}

Nenhum comentário:

Postar um comentário