Olá Kaio, tudo bem com você?
Peço desculpas pela demora em lhe responder.
O método constructor
é um método especial utilizado para inicializar e criar objetos de uma classe. Nesse método fornecemos os atributos que um objeto pertencente a classe deve conter. Imagine por exemplo uma classe Conta
, que recebe como parâmetro para criação do objeto, o dígito identificador desta conta. Em código teríamos:
class Conta{
constructor(numero){
this.numero = numero;
}
}
Agora, para criarmos o objeto, devemos passar como parâmetro o dígito identificador:
const conta = new Conta(10);
Já os métodos getter
e setter
são responsáveis por capturar um valor de um atributo e atribuir valor a um atributo respectivamente, como mostro abaixo:
Exemplo método getter
get saldo(){
return this._saldo;
}
Exemplo de método setter
set saldo(valor){
this._saldo = valor;
}
Até aqui, vimos que cada método, seja ele constructor, getter ou setter tem suas particularidades e um objetivo específico e inclusive, eles podem ser utilizados em conjunto e é até recomendado para sempre manter o encapsulamento dos atributos e além disso, dar ao usuário a opção de passar parâmetros na criação da classe de forma direta. Veja um exemplo prático:
class Conta{
_saldo;
constructor(numero){
this.numero = numero;
this._saldo = 0;
}
get saldo(){
console.log('Acessando o método get');
return this._saldo;
}
set saldo(valor){
console.log('Acessando o método set');
this._saldo = valor;
}
}
const conta = new Conta(10);
conta.saldo = 150;
console.log(conta.saldo);
Resultado:
Acessando o método set
Acessando o método get
150
A título de curiosidade, caso queira se aprofundar ainda mais neste assunto, recomendo a leitura do artigo da Alura This, Getters e Setters nas classes Javascript :
Conte sempre com a Alura para evoluir seus estudos.
Em caso de dúvidas fico à disposição.
Grande abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!