0
respostas

Strategy utilizando enums

Este código abaixo seria considerado um strategy ?

public enum ImpostoTipo {
    NORMAL{
        @Override
        double calcularImposto(double preco) {
            return preco * 0.2;
        }
    },IDOSOS{
        @Override
        double calcularImposto(double preco) {
            return preco * 0.1;
        }
    },ESTUDANTES{
        @Override
        double calcularImposto(double preco) {
            return preco * 0.15;
        }
    };

    abstract double calcularImposto(double preco);
}


calcularImpostoEnum(100,ImpostoTipo.IDOSOS);
public double calcularImpostoEnum(double precoProduto, ImpostoTipo impostoTipo){
    return precoProduto + impostoTipo.calcularImposto(precoProduto);
}

Edit: agora vi que tinha essa dúvida no fórum, perdão pelo post repetido, devia ter como a gente deletar