Código completo
class Cliente {
_cpf;
constructor(nome, cpf){
this.nome = nome;
this._cpf = cpf;
}
get cpf() {
return this._cpf;
}
}
class ContaCorrente {
_saldo = 0;
constructor(agencia, cliente) {
this.agencia = agencia;
this.cliente = cliente;
}
get saldo(){
return this._saldo;
}
}
const cliente1 = new Cliente('João', 12385244896);
const conta1 = new ContaCorrente(10001, cliente1)
console.log(conta1);
Então, repliquei esse código, pois não estou entendendo mto bem o que são constructor, getters e setters.
Getters e setters são para protejer uma informação, certo? Já o constructor deve estar presente ao criar uma classe, logo na parte de cima.
se eu crio o código abaixo:
class ContaCorrente {
_saldo = 0;
constructor(saldo, agencia, cliente) {
this._saldo = saldo;
this.agencia = agencia;
this.cliente = cliente;
}
get saldo(){
return this._saldo;
}
}
se eu faço o procedimento abaixo:
const conta1 = new ContaCorrente(10001, cliente1)
ele me retorna:
ContaCorrente {
_saldo: 1001,
agencia: Cliente {_cpf:12385244896, nome: 'João'},
cliente: undefined
}
já eu remover o saldo do contructor como no código abaixo:
class ContaCorrente {
_saldo = 0;
constructor(agencia, cliente) {
this.agencia = agencia;
this.cliente = cliente;
}
get saldo(){
return this._saldo;
}
}
Ele retorna:
ContaCorrente {
_saldo: 0,
agencia: 1001,
cliente: Cliente {_cpf:12385244896, nome: 'João'}
}
Não entendi o motivo de ter que remover o saldo do contructor.