This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<code> | |
public class CalculadorDeDescontos { | |
public double calculaDesconto(Orcamento orcamento){ | |
DescontaPorCincoItens d1 = new DescontaPorCincoItens(); | |
DescontaPorMaisDeQuinhentosReais d2 = new DescontaPorMaisDeQuinhentosReais(); | |
//DescontaPorVendaCasada d3 = new DescontaPorVendaCasada(); | |
SemDesconto d3 = new SemDesconto(); | |
d1.setProximo(d2); | |
d2.setProximo(d3); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public interface Desconto { | |
double desconta(Orcamento orcamento); | |
void setProximo(Desconto proximo); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class DescontaPorVendaCasada implements Desconto { | |
private Desconto proximo; | |
public double desconta(Orcamento orcamento) { | |
if(existe("Lapis",orcamento)&& existe("Caneta", orcamento)){ | |
return orcamento.getValor()*0.05; | |
} | |
return proximo.desconta(orcamento); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Conta { | |
private double saldo; | |
private String nomeDoTitular; | |
public Conta(String nomeDoTitular, double saldo){ | |
this.nomeDoTitular = nomeDoTitular; | |
this.saldo = saldo; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class DescontaPorCincoItens implements Desconto { | |
private Desconto proximo; | |
public double desconta(Orcamento orcamento) { | |
if(orcamento.getItens().size()>5){ | |
return orcamento.getValor()*0.1; | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public abstract class TemplateDeImpostoCondicional implements Imposto { | |
public double calcula(Orcamento orcamento) { | |
if(deveUsarMaximaTaxacao(orcamento)){ | |
return maximaTaxacao(orcamento); | |
} | |
else { | |
return minimaTaxacao(orcamento); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
public class IHIT extends TemplateDeImpostoCondicional { | |
; | |
public boolean deveUsarMaximaTaxacao(Orcamento orcamento) { | |
return existe(orcamento); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Date; | |
public class Conta { | |
private String titular; | |
private String banco; | |
private String telefone; | |
private double saldo; | |
private int numeroConta; | |
private int numAgencia; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public abstract class Imposto { | |
private final Imposto outroImposto; | |
public Imposto(Imposto outroImposto){ | |
this.outroImposto = outroImposto; | |
} | |
public Imposto(){ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class ImpostoMuitoAlto extends Imposto { | |
public ImpostoMuitoAlto(Imposto outroImposto) { | |
super(outroImposto); | |
} | |
public ImpostoMuitoAlto() { | |
OlderNewer