Classes com muitos atributos opcionais em seus métodos construtores podem trazer bastante sujeira para o código, além de aumentar a probabilidade de erros quanto mais atributos forem necessários para instanciar um objeto da classe em questão. Considere o exemplo a seguir da classe Produto, que possui 8 atributos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
import java.math.BigDecimal; public class Produto { private Long id; private String nome; private String descricao; private BigDecimal valor; private String cor; private String altura; private String largura; private String comprimento; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getDescricao() { return descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } public BigDecimal getValor() { return valor; } public void setValor(BigDecimal valor) { this.valor = valor; } public String getCor() { return cor; } public void setCor(String cor) { this.cor = cor; } public String getAltura() { return altura; } public void setAltura(String altura) { this.altura = altura; } public String getLargura() { return largura; } public void setLargura(String largura) { this.largura = largura; } public String getComprimento() { return comprimento; } public void setComprimento(String comprimento) { this.comprimento = comprimento; } } |
Digamos que um produto possa ser…