package trabalhoPDS.fabricaRoupa.decoradores; import java.math.BigDecimal; import trabalhoPDS.catalogo.Produto; import trabalhoPDS.catalogo.ProdutoDecorator; public class RoupaDecorator extends ProdutoDecorator { public RoupaDecorator(Produto p) throws IllegalArgumentException { super(p); } } ------------------------------------------------------------------------------------------------------------------------- package trabalhoPDS.fabricaRoupa.decoradores; import java.math.BigDecimal; import trabalhoPDS.catalogo.Produto; import trabalhoPDS.fabricaRoupa.abstracao.Roupa; public class PlumaDecorator extends RoupaDecorator { public PlumaDecorator(Produto p) throws IllegalArgumentException{ super(p); if((p instanceof RoupaDecorator)||(p instanceof Roupa)) throw new IllegalArgumentException(); } @Override public String getCodigo() { return super.getCodigo() + "01"; } @Override public String getDescricao() { return super.getDescricao()+ " com pluma"; } @Override public BigDecimal getPreco() { BigDecimal precoStampa = new BigDecimal(10); return super.getPreco().add(precoStampa); } }