Boa Noite Galera!!!
Sou novo aqui no GUJ, se postei algo fora do padrão me desculpem com o tempo vou me ajustando. rs
Estou fazendo uns exercicios de Pós e não estou conseguindo entender as perguntas abaixo diante das classes que foram passadas, se alguém puder me ajudar ficarei muito grato.
Perguntas :
O encapsulamento está restabelecido ?
Empregado são POJOs ?
Todo código de cálculo de comissão está encapsulado em Pagamentos?
Classes:
public class Pagamentos {
public static final int CALC_Comissao_AnalistaNegocio = 0;
public static final int CALC_Comissao_LiderProjeto = 1;
private static final CalculadorComissao[] CALC = new CalculadorComissao[] {
new CalculadorComissao() {
public double calcComissao (Empregado f) {
return ((AnalistaNegocio)f).getComissaoPctSobreLucroAnual() * Pagamentos.getLucroAnoCorrente();
}
},
// … outras CalculadorComissao()…
};
public double calculaSalario (Empregado f) {
return f.getSalarioBase() + CALC[f.calculadorComissao()].calcComissao(f);
}
protected static int getLucroAnoCorrente() {
return 15;
}
private static interface CalculadorComissao {
double calcComissao (Empregado f);
}
// .. outras constantes numéricas ...
}
public abstract class Empregado {
public abstract int calculadorComissao ();
public double getSalarioBase() {
return 100;
}
}
public class AnalistaNegocio extends Empregado{
public int calculadorComissao () {
return Pagamentos.CALC_Comissao_AnalistaNegocio;
}
public int getComissaoPctSobreLucroAnual() {
// TODO Auto-generated method stub
return 10;
}
}