Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Por que as propriedades são privadas na Corrente e na Poupança não? E pq uma tem saldo = 0 e a poupança saldoInicial no construtor?

Por que as propriedades são privadas na Corrente e na Poupança não? E pq uma tem saldo = 0 e a poupança saldoInicial no construtor?

1 resposta
solução!

Olá, Igor, tudo bem?

Por que as propriedades são privadas na Corrente e na Poupança não?

Vamos analisar o código da ContaPoupanca:

export class ContaPoupanca {
    constructor(saldoInicial, cliente, agencia) {
        this._saldo = saldoInicial;
        this._cliente = cliente;
        this._agencia = agencia;
    }
}

As propriedades dessa classe na verdade estão sim privadas (pela convenção do underline _). Quando essa classe é instanciada, o construtor é executado, recebendo os três parâmetros (saldoInicial, cliente e agencia) e os atribuindo para as três propriedades privadas da classe: _saldo, _cliente e _agencia.

E pq uma tem saldo = 0 e a poupança saldoInicial no construtor?

Bem, o saldo da classe ContaCorrente é inicializado por padrão como 0, como foi visto no curso anterior. Vamos analisar como está o construtor agora:

    constructor(agencia, cliente) {
        this.agencia = agencia;
        this.cliente = cliente;
        this._saldo = 0;
        ContaCorrente.numeroDeContas += 1;
    }

Isso quer dizer que se formos fazer uma instância de ContaCorrente, passaremos apenas a agencia e o cliente como parâmetros, e o saldo será iniciado como 0 automaticamente no construtor. Caso queiramos depositar ou sacar na conta, podemos utilizar os métodos que já foram criados.

Já na classe ContaPoupanca, temos a opção de abrir uma conta poupança já com saldo, e por isso ela também recebe esse parâmetro no construtor, como o instrutor disse.

Espero ter ajudado! Se tiver mais dúvidas ou dificuldades, ficaremos felizes em te responder. Abraços e bons estudos!

Caso esta resposta tenha resolvido sua dúvida, por favor, marque como solucionada ✓. Bons Estudos!