Boa tarde, Não entendi porque a classe Orçamento "repete" os métodos da classe EstadoDeUmOrcamento. Se a classe Orçamento implementasse a interface EstadoDeUmOrcamento não estaria correto?
public class Orcamento {
protected EstadoDeUmOrcamento estadoAtual;
//...
//repete este método
public void aplicaDescontoExtra() {
estadoAtual.aplicaDescontoExtra(this);
}
//repete este método
public void aprova() {
this.estadoAtual.aprova(this);
}
//repete este método
public void reprova() {
this.estadoAtual.reprova(this);
}
//repete este método
public void finaliza() {
this.estadoAtual.finaliza(this);
}
}