Encapsulamento + construtor

2 respostas
C

Bom estou aqui com um novo problema com encapsulamento novamente bom meu problema agora é seguinte quando chamo o construtor na classe testaFuncinario o primeiro ele faz certinho mas seu querer cadastrar um novo funcionario ele traz o mesmo que o primeiro que eu cadastre, veja como eu estou fazendo.

package Encapsulamento;

public class Funcionario 
{
	private int id;
	private String Nome;
	private double Salario;
	private String CPF;
	private double calcalculaGanhoAnual;
	
	public int getId() {
		return id;
	}
	
	public String getNome() {
		return Nome;
	}
	
	public String getCPF() {
		return CPF;
	}
	
	public double getSalario() {
		return Salario;
	}

	public double getcalcalculaGanhoAnuall() {
		double calcalculaGanhoAnual =  13 * this.Salario;
		return calcalculaGanhoAnual;
	}
	
	public void setNome(String nome) {
		Nome = nome;
	}
	
	public void setSalario(double salario) {
		Salario = salario;
	}
	
	public void setCPF(String cPF) {
		CPF = cPF;
	}
	
	public void setId(int id) {
		this.id += id ;
	}
	
	public Funcionario(int id, String nome, String cpf, double salario)
	{
		this.setId(id);
		this.setNome(nome);
		this.setCPF(cpf);
		this.setSalario(salario);
	}
	void mostra() {
		
		System.out.println("Dados do funcnario:");
		System.out.println("--------------------");
		System.out.println("Id: " + this.getId());
		System.out.println("Nome: " + this.getNome());
		System.out.println("CPF: " + this.getCPF());
		System.out.println("Salario: " + this.getSalario());
		System.out.println("--------------------");
	}
	
	void mostraNovoSalario()
	{
		System.out.println("--------------------");
		double ganho = this.getcalcalculaGanhoAnuall();
		System.out.println("Ganho Anual: " + ganho);
	}
	
}
A classe testaFuncinario:
package Encapsulamento;

public class TestaFuncionario {

	public static void main(String[] args) {
		
		Funcionario func = new Funcionario(01, "Claudio José", "[telefone removido]",3000);
		
		func.mostra();
		
		func.mostraNovoSalario();
		
		Funcionario func1 = new Funcionario(02, "Débora Barcelete", "[telefone removido]",3000);
		
		func.mostra();
		
		func.mostraNovoSalario();
	}
}

Em cima desde exercício que é do Caelum ele pede para criar um identificador do tipo int no construtor que seja autonumeração acrescentando sempre um quando cadastrar mais um funcionário não estou conseguindo fazer preciso de ajuda

2 Respostas

leonardo0494

@CLAJMCARDOSO, bom dia.

Ele está mostrando o mesmo usuário porque você está chamando o método mostra com o primeiro objeto.

Você criou o objeto func e func1 mas está chamando apenas o func.mostra() e func.mostraNovoSalario();

Abraço.

C

aff nem tinha visto kkkkkk desculpa mania de Ctrl + C; Ctrl V

Criado 17 de setembro de 2016
Ultima resposta 17 de set. de 2016
Respostas 2
Participantes 2