Eu estava aqui pensando. Se as os parâmetros de um objeto podem ser passados através dos métodos setters e devolvidos através dos métodos getters, o construtor fica responsável apenas para "declara as variáveis"?
Eu estava aqui pensando. Se as os parâmetros de um objeto podem ser passados através dos métodos setters e devolvidos através dos métodos getters, o construtor fica responsável apenas para "declara as variáveis"?
Olá Paulo, Esta certo referente ao construtor, ele determina que ações devem ser executadas quando da criação de um objeto. Porém, existem casos que você terá que usar o get e/ou do set.
O que posso te dizer é que, não recomendo é sempre criar gets e sets para todos os atributos privados.
Aconselho olhar o pdf: http://www.arquiteturajava.com.br/livro/cuidado-com-o-modelo-anemico.pdf
Porém, a versão JavaScript, o EcmaScript 2015, existe uma maneira de construir:
class Padaria {
constructor(paramOpc, paramPreco){
this.opc = paramOpc;
this.preco = paramPreco;
} calcDesc() {
return this.preco * 0.2;
}
}
var opc1 = new Prod("Pão", 3);
var opc2 = new Prod("Leite", 5);
opc1.calcDesc();
opc2.calcDesc();
Com Class e sem function, o atributos dentro de constructor e sem this. Os getters e setters, precisamos criar - atributo
class Cachorro{
constructor(){
this.raca;
}
get raca(){
return raca;
}
set raca(ruff){
// E aqui também
this.raca = ruff;
}
}
O método estático Object.defineProperty() MDN
Uso excessivo
Lembre-se: apenas porque um recurso existe, ele não precisa ser usado o tempo todo.
Getters e Setters têm seus casos de uso, usados com cuidado, eles são muito poderosos. Mas com grande poder vem uma grande responsabilidade.