Me ajudem com este problema de herança

4 respostas
P

segue o problema
Uma empresa deseja modelar um sistema para controle de RH, hoje na empresa existem 3 tipos de empregados:
gerente - o gerente possui um bonus em cima do salario de 20% e um desconto de 12%
somente os gerentes tem um desconto de 100 reais por dependente;

analista - tem um auxilio para cursos de 30% do salario e um desconto de 8%
tecnico - possui um auxilio moradia de 25% do salario e um desconto de 5%

as informações mais importantes dos funcionarios são: nome, salario, desconto, matricula e dependentes.

crie metodos que realizaram o calculo do salario dos funcionários e crie uma classe para testar o que foi feito.

esta e a classe Principal
package aula3;

public abstract class Empregados {
	private String nome;
	private int matricula;
	private double desconto;
	private double salario;
	private double total;
	


	public double getTotal() {
		return total;
	}

	public void setTotal(double total) {
		this.total = total;
	}

	public double getDesconto() {
		return desconto;
	}

	public void setDesconto(double desconto) {
		this.desconto = desconto;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public int getMatricula() {
		return matricula;
	}

	public void setMatricula(int matricula) {
		this.matricula = matricula;
	}

	public double getSalario() {
		return salario;
	}

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

}
e esta e classe gerente
package aula3;

public class Gerente extends Empregados {

	public double bonus() {
		double bonus = (getSalario() * 20) / 100 + getSalario();

		return bonus;

	}

	
	public double Desconto() {

		return (getDesconto() * 12)/100;
	
	}

	public double total() {

		return 	 (bonus() - getDesconto()) ;

	

	}

}

me ajudem

4 Respostas

Polimorphism

Eu acho que eu posso ajudar =D… Mas não consegui entender direito a parte do “Desconto” e a parte do “Dependente”.
abraços[]`s

P

Polimorphism:
Eu acho que eu posso ajudar =D… Mas não consegui entender direito a parte do “Desconto” e a parte do “Dependente”.
abraços[]`s

tipo se ele tiver 2 dependentes sera descontado 200 reais no salario eu tenho que dar o salario dele com desconto

CrOnNoS

E qual sua dúvida ?

Polimorphism
public class Analista extends Empregado
{
  public Analista( String nm, int mt, double sb, int dp )
  {
    super( nm, mt, sb, 0.3, 0.08, dp );
  }
  public double getSalario()
  {
    double salario = salarioBase;
    salario += ( bonus * salario );
    salario -= ( salario * desconto );
    return salario;
  }
}
public class Gerente extends Empregado
{
  public Gerente( String nm, int mt, double sb, int dp )
  {
    super( nm, mt, sb, 0.2, 0.12, dp );
  }
  public double getSalario()
  {
    double salario = salarioBase;
    salario += ( bonus * salario );
    salario -= ( salario * desconto );
    salario -= ( 100 * dependentes );
    return salario;
  }
}
public class Tecnico extends Empregado
{
  public Tecnico( String nm, int mt, double sb, int dp )
  {
    super( nm, mt, sb, 0.25, 0.05, dp );
  }
  public double getSalario()
  {
    double salario = salarioBase;
    salario += ( bonus * salario );
    salario -= ( salario * desconto );
    return salario;
  }
}
public abstract class Empregado
{
  protected String nome;
  protected int matricula;
  protected double salarioBase;
  protected double desconto;
  protected double bonus;
  protected int dependentes;
  
  public Empregado( String nm, int mt, double sb, double dc, double bn, int dp )
  {
    nome = nm;
    matricula = mt;
    salarioBase = sb;
    desconto = dc;
    bonus = bn;
    dependentes = dp;
  }
  
  public abstract double getSalario();
  
  public String getNome()
  {
    return nome;
  }
  public int getMatricula()
  {
    return matricula;
  }
  public double getSalarioBase()
  {
    return salarioBase;
  }
  public double getBonus()
  {
    return bonus;
  }
  public double getDesconto()
  {
    return desconto;
  }
  public double getDependentes()
  {
    return dependentes;
  }
  
  public void setNome( String nm )
  {
    nome = nm;
  }
  public void setMatricula( int mt )
  {
    matricula = mt;
  }
  public void setSalarioBase( double sb )
  {
    salarioBase = sb;
  }
  public void setBonus( double bn )
  {
    bonus = bn;
  }
  public void setDesconto( double dn )
  {
    desconto = dn;
  }
  public void setDependentes( int dp )
  {
    dependentes = dp;
  }
}
public class TesteEmpregados
{
  public static void main ( String args[] )
  {
    Empregado[] e = new Empregado[3];
    e[0] = new Analista( "Bob", 0, 2000, 1 );
    e[1] = new Tecnico( "Lewis", 1, 1800, 2 );
    e[2] = new Gerente( "Alfred", 2, 2600, 4 );
  
    for ( Empregado atual : e )
    {
      System.out.printf( "%.2f%n", atual.getSalario() );
    }
  }
}

não sei se entendi certo, + acho que algo como isso. Pode se melhorar colocando um modo pra a pessoa colocar os salário base, etc.
abraços[]`s

Criado 22 de agosto de 2009
Ultima resposta 22 de ago. de 2009
Respostas 4
Participantes 3