0
respostas

Dúvida de métodos - POO

Estou com a seguinte dúvida referente ao código abaixo: Porque o método depositar não funciona com a sentença de código dentro do bloco de comando, mas ele funciona com o return dentro do bloco e o código fora do bloco?

class contaCorrente { agencia; _cliente; _saldo;

set cliente(novoValor){
    if(novoValor instanceof this._cliente){
        this._cliente = novoValor
    }
}

get cliente(){
    return this._cliente
}

_saldo = 0

get saldo(){
    return this._saldo
}

sacar(valor){
    if(this._saldo >= valor){
        this._saldo -= valor
    }
 }
depositar(valor){
    if(this.valor <= 0){
        this._saldo  +=  valor
    } else {console.log("Você não pode depositar um valor negativo")}
}

transferir(valor, _conta){
    const valorSacado = this.sacar(valor)
    _conta.depositar(valorSacado)
}

}

segue abaixo a forma funcional:

class contaCorrente { agencia; _cliente; _saldo;

set cliente(novoValor){
    if(novoValor instanceof this._cliente){
        this._cliente = novoValor
    }
}

get cliente(){
    return this._cliente
}

_saldo = 0

get saldo(){
    return this._saldo
}

sacar(valor){
    if(this._saldo >= valor){
        this._saldo -= valor
    }
 }
depositar(valor){
    if(this.valor <= 0){
      return
    }   this._saldo  +=  valor//else {console.log("Você não pode depositar um valor negativo")}
}

transferir(valor, _conta){
    const valorSacado = this.sacar(valor)
    _conta.depositar(valorSacado)
}

}