6
I would like to ask for your help again in this exercise. This time using the abstract class.
Create an abstract class
FuncionarioAbstractwith the attributeStringname and abstract method:public double getSalario();There are two classes that inherit fromFuncionarioAbstractand are concrete:AdministradorandGerente.Administradorhas a salary of 2000.Gerentealready has one more attributedouble comissaoand your salary is2500 + comissao.Create a class
Principalwith a list ofFuncionarioAbstract(creating objects of the typeAdministradorandGerente) using the interfaceSetand the classHashSetpackagejava.util. And create a methodpublic static void imprimir(Set funcionarios)printing the name and salary of each employee.
I’ve done all three classes and I’m finishing the main one, I’ll post the code here and I’d like to know if it’s correct.
Class FuncionarioAbstract:
public abstract class FuncionarioAbstract {
private String nome;
public abstract double getSalario();
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Class Administrador:
public class Administrador extends FuncionarioAbstract {
public double getSalario() {
return 2000;
}
}
Class Gerente:
public class Gerente extends FuncionarioAbstract {
public double getSalario() {
return 2500 + comissao;
}
private double comissao;
public double getComissao() {
return comissao;
}
public void setComissao(double comissao) {
this.comissao = comissao;
}
}
Class Principal:
public static void main (String[] args) {
Set <FuncionarioAbstract> funcionario = new HashSet<FuncionarioAbstract>();
Gerente funcionario1 = new Gerente();
funcionario1.setNome("Ramon Oliveira");
funcionario1.setComissao(1750);
funcionario.add(funcionario1);
Administrador funcionario2 = new Administrador();
funcionario2.setNome("Eliana Franco");
funcionario.add(funcionario2);
imprimir(funcionario);
}
public static void imprimir(Set<FuncionarioAbstract> funcionario) {
for (FuncionarioAbstract f : funcionario) {
System.out.println("Nome do funcionário: " + f.getNome());
System.out.println("Salário do Funcionário: " + f.getSalario());
}
}
}
My question would be how to use that Set employees to print the name and salary of employees.