Ejercicio de programación con JavaScript: Reto Encapsulación
Código
0h 20m
JavaScript Encapsulación: Implementa la clase `CuentaBancaria` para gestionar operaciones seguras y encapsuladas. Aprende mientras programas.
Crear una clase CuentaBancaria
que use encapsulación para proteger los datos de una cuenta bancaria y gestionar operaciones básicas de forma segura.
Instrucciones
- Crea una clase
CuentaBancaria
que:- Tenga campos privados para
#saldo
y#nombreTitular
- Tenga un campo privado
#historialTransacciones
(array) - Permita establecer el nombre del titular y un saldo inicial en el constructor
- Tenga campos privados para
- Implementa los siguientes métodos:
depositar(cantidad)
: Añade dinero al saldo (solo si es positivo)retirar(cantidad)
: Retira dinero si hay suficiente saldoconsultarSaldo()
: Devuelve el saldo actualobtenerResumen()
: Devuelve un objeto con el nombre del titular, saldo actual y número de transacciones
- Cada transacción (depósito o retiro) debe guardarse en el historial como un objeto con tipo, cantidad y fecha
// Prueba tu implementación
const miCuenta = new CuentaBancaria("Ana García", 100);
console.log(miCuenta.consultarSaldo()); // Debería mostrar 100
miCuenta.depositar(50);
console.log(miCuenta.consultarSaldo()); // Debería mostrar 150
miCuenta.retirar(30);
console.log(miCuenta.consultarSaldo()); // Debería mostrar 120
miCuenta.retirar(200); // Debería fallar (saldo insuficiente)
console.log(miCuenta.consultarSaldo()); // Debería seguir mostrando 120
console.log(miCuenta.obtenerResumen());
// Debería mostrar un objeto con nombre, saldo y número de transacciones
Todos los ejercicios de programación de JavaScript
Evalúa tus conocimientos con ejercicios de programación en JavaScript de tipo Test, Puzzle, Código y Proyecto con VSCode.
Excepciones
Test
Transformación con map()
Código
Arrays y Métodos
Código
Reto Métodos de Strings
Código
Transformación con map()
Puzzle
Funciones flecha
Test
Selección de elementos DOM
Puzzle
API Fetch
Código
Encapsulación
Test
Mapas con Map
Código
Creación y uso de variables
Puzzle
Polimorfismo
Puzzle
Reto Funciones flecha
Código
Tipos de datos
Puzzle
Reto Operadores avanzados
Código
Reto Estructuras de control
Código
Estructuras de control
Puzzle
Pruebas unitarias
Proyecto
Inmutabilidad y programación funcional pura
Código
Funciones flecha
Puzzle
Polimorfismo
Test
Reto Polimorfismo
Código
Array
Código
Transformación con map()
Test
Reto Variables
Código
Gestor de tareas con JavaScript
Proyecto
Proyecto Modificación de elementos DOM
Proyecto
Manipulación DOM
Test
Funciones
Test
Conjuntos con Set
Código
Reto Prototipos y cadena de prototipos
Código
Funciones flecha
Código
Async / Await
Código
Reto Excepciones
Código
Reto Filtrado con filter() y find()
Código
Reto Promises
Código
Creación y uso de variables
Test
Excepciones
Puzzle
Promises
Código
Funciones cierre (closure)
Test
Reto Herencia
Código
Herencia
Puzzle
Reto Async / Await
Código
Proyecto Eventos del DOM
Proyecto
Herencia
Test
Selección de elementos DOM
Test
Modificación de elementos DOM
Test
Reto Clases y objetos
Código
Filtrado con filter() y find()
Test
Funciones cierre (closure)
Puzzle
Reto Destructuring de objetos y arrays
Código
Callbacks
Código
Funciones
Puzzle
Mapas con Map
Test
Reducción con reduce()
Test
Callbacks
Puzzle
Manipulación DOM
Puzzle
Introducción al DOM
Proyecto
Reto Funciones
Código
Reto Funciones cierre (closure)
Código
Promises
Test
Reto Reducción con reduce()
Código
Async / Await
Test
Reto Estructuras de control
Código
Eventos del DOM
Puzzle
Introducción a JavaScript
Puzzle
Async / Await
Puzzle
Promises
Puzzle
Selección de elementos DOM
Proyecto
Filtrado con filter() y find()
Código
Callbacks
Test
Creación de clases y objetos Restaurante
Código
Reducción con reduce()
Código
Filtrado con filter() y find()
Puzzle
Reducción con reduce()
Puzzle
Conjuntos con Set
Puzzle
Herencia de clases
Código
Eventos del DOM
Test
Clases y objetos
Puzzle
Modificación de elementos DOM
Puzzle
Mapas con Map
Puzzle
Proyecto carrito compra agoodshop
Proyecto
Introducción a JavaScript
Test
Reto Mapas con Map
Código
Funciones
Código
Proyecto administrador de contactos
Proyecto
Reto Expresiones regulares
Código
Tipos de datos
Test
Clases y objetos
Test
Array
Test
Conjuntos con Set
Test
Array
Puzzle
Encapsulación
Puzzle
Clases y objetos
Código
Uso de operadores
Puzzle
Uso de operadores
Test
Estructuras de control
Test
Proyecto Manipulación DOM
Proyecto
Tutorial para resolver este ejercicio de programación
JavaScript
Encapsulación
Programación Orientada a Objetos