1
respuesta

Practica - Accediendo a atributos privados

import { Cliente } from "./cliente.js";

export class CuentaCorriente{

    #cliente;
    numero;
    #saldo;
    banco;

    set setCliente(valor){
        if(valor instanceof Cliente)
            this.#cliente = valor;
    }

    get getCliente(){
        return this.#cliente;
    }

    constructor(){
        this.#cliente = null; //Null indica que no existe el dato pero aun asi esta explicito.
        this.numero = "";
        this.#saldo = 0;
        this.banco = "";
    }

    depositoEnCuenta(valor){
        if (valor > 0)
            this.#saldo += valor;

    }

    retiroEnCuenta(valor){
        if (valor <= this.#saldo)
            this.#saldo -= valor;
        return this.#saldo;
    }

    verSaldo(){
        return this.#saldo;
    }

    transferirParaCuenta(valor, cuentaDestino){
        this.retiroEnCuenta(valor);
        cuentaDestino.depositoEnCuenta(valor);

    }
}
1 respuesta

Gracias por compartir tu código Daniel. A partir de ES2022 (Estandar 2022 de Javascript) los campos privados son parte de Javascript, entonces ya esta sintaxis dejó de ser una propuesta para convertirse en parte nativa del lenguaje.