Olá pessoal, boa noite!
Estou estudando JAVA na faculdade e fazendo aqui uma revisão me deparei com o código abaixo.
Minha dúvida está nessa linha:
public double salario(double abono){
return (getSalarioMensal());
}
pois o resultado é igual ao seguinte metodo:
public double salario(){
return (getSalarioMensal());
}
Qual a finalidade do professor ter colocado o metodo dessa forma:
public double salario(double abono){
return (getSalarioMensal());
}
[code]public class EmpAssalariado extends Empregado {
private double salarioMensal;
public EmpAssalariado(String nome, String sobrenome, String cpf, double salarioMensal){
super(nome, sobrenome, cpf);
setSalarioMensal(salarioMensal);
}
public void setSalarioMensal(double salarioMensal){
this.salarioMensal = salarioMensal;
}
public double getSalarioMensal(){
return salarioMensal;
}
public double salario(){
return (getSalarioMensal());
}
public double salario(double abono){
return (getSalarioMensal());
}
public String toString(){
return String.format(
"%s%s %s\n%s%s\n%s%.2f\n%s%.2f\n",
"Identificação: ", nome, sobrenome,
"CPF: ", cpf,
"Salario total: ", salario(),
"Salario total com abono: ", salario(400));
}
}[/code]
Aqui segue a classe Principal:
[code]public class Principal {
public static void main(String[] args) {
EmpFixoComissionado empregadoFC = new EmpFixoComissionado("Roberto", "Silveira", "123456789-10", 10000, 0.02, 0.01,
300);
EmpComissionado empregadoC = new EmpComissionado("Francisco", "Oliveira", "987654321-00", 20000, 0.02, 0.01);
EmpAssalariado empregadoA = new EmpAssalariado("Joaquim", "Alberto", "192837465-99", 500);
System.out.printf("\n%s: \n\n%s\n\n",
"Informações do empregado assalariado:", empregadoA.toString());
}
}[/code]