Orientação a objetos de array

0 respostas
javaprogramação
J

Olá, eu sempre tive duvidas com arrays orientado a objetos, estou criando um projeto onde seria um controle de pagamento de funcionarios com polimorfismo, onde as classes (assalariados, comissionados, etc), são declaradas basicamente assim:

public class Assalariado extends Empregado{
private double extraHour;

public Assalariado(double extraHour, String nome, String sobrenome, int numeroIdentidade) {
    super(nome, sobrenome, numeroIdentidade);
    this.extraHour = extraHour;
}

@Override
public double getValorAPagar() {
    return ControlePagamento.SALARIO + (ControlePagamento.HORA*extraHour);
}
<a class="mention" href="/u/override">@Override</a>

public String toString(){

return String.format(“O salário final do %s é R$ %f”, super.getNome(), this.getValorAPagar());

}}

--------------------------------------------------------. . . . ----------------------------------------------------

enquanto a classe de controle de pagamentos, é assim:

public class ControlePagamento {

public static final double SALARIO = 1212.0;

public static final double HORA = 30.0;

private Pagavel[] controlePagamento;

private int posicao;
public ControlePagamento(){
    this.controlePagamento = new Pagavel[10];
    this.posicao = 0;
}

public void adicionaItemPagavel(Pagavel item){
    if(posicao<10){
        controlePagamento[posicao] = item;
        posicao++;
    }
}

public double calculaValorAPagarContas(){
    double retorno = 0;
    
    for(Pagavel item : controlePagamento){
        if (item instanceof Conta){
            retorno = retorno + item.getValorAPagar();
        }
    }
    return retorno;
}

}

--------------------------------------------------------. . . . ----------------------------------------------------
Minha duvida seria como eu manipulo esse array de objetos pra guardar o SalarioAPagar de cada funcionario, e chamar o metodo calculaValorAPagarContas, para saber quanto devo pagar no total

Criado 11 de maio de 2022
Respostas 0
Participantes 1