Gostaria que vocês avaliassem a proposta que fiz. Criei um método [calcularImposto()] private para ser chamado pelo construtor e que atribui à variável de instância impostos. Com isso, já na criação do objeto nota, tem-se o imposto calculado.
O que acham?
//-------------------------------------------------------------------
public class NotaFiscal {
private int id; private double valorBruto; private double impostos;
public NotaFiscal(int id, double valorBruto) { this.id = id; this.valorBruto = valorBruto; calculaImposto(); }
public NotaFiscal(double valorBruto) { this(0, valorBruto); }
public int getId() { return id; } public void setId(int id) { this.id = id; } public double getValorBruto() { return valorBruto; } public void setValorBruto(double valorBruto) { this.valorBruto = valorBruto; } public double getImpostos() { return impostos; } public void setImpostos(double impostos) { this.impostos = impostos; }
public double getValorLiquido() { return this.valorBruto - this.impostos; }
private void calculaImposto() {
if(this.valorBruto < 200) { this.impostos = this.valorBruto 0.03; } else if(this.valorBruto > 200 && this.valorBruto <= 1000) { this.impostos = this.valorBruto 0.06; } else { this.impostos = this.valorBruto * 0.07; } }
}