Clase BankAccount
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 21 de 56.
Desafío
En este proyecto crearemos una clase BankAccount desde cero para gestionar la cuenta bancaria de un cliente.
Tu primera tarea es crear una clase llamada BankAccount con:
- Constructor que toma dos parámetros:
accountHolder(string): El nombre del propietario de la cuentainitialBalance(number, opcional): Saldo inicial (por defecto es 0)
- Método
<strong>getBalance()</strong>el cual:- Devuelve el saldo actual de la cuenta
- No necesita parámetros
- Método
<strong>getAccountInfo()</strong>que:- Devuelve una cadena formateada:
"${accountHolder}: ${balance}" - Ejemplo: Si accountHolder es "John" y el saldo es 500, devuelve
"John: $500"
- Devuelve una cadena formateada:
Pruébalo tú mismo
// TODO: Crear una clase llamada BankAccount
// TODO: Añadir un constructor que tome dos parámetros: accountHolder e initialBalance (por defecto 0)
// TODO: Añadir un método getBalance() que devuelva el saldo actual de la cuenta
// TODO: Añadir un método getAccountInfo() que devuelva una cadena formateada: "${accountHolder}: $${balance}"
// Prueba
const testAccount = new BankAccount('Alex Johnson', 500);
console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"
console.log('Balance:', testAccount.getBalance()); // 500Todas las lecciones de Programación Orientada a Objetos
1Objetos y la palabra clave this
Repaso rápido: ObjetosAgregar métodos a los objetosEntendiendo la palabra clave thisFunciones constructorasLa palabra clave newDesafío de repaso7Herencia y la palabra clave extends
HerenciaLa relación "es-un"La palabra clave extendsEl método super()Heredar propiedades y métodosDesafío de repaso13Composición vs. Herencia
La relación "tiene-un" vs. "es-un"Los límites de la herencia profundaConstrucción de objetos2Organización del código
¿Qué son los módulos?Exportar con exportImportar con importExportaciones por defecto vs. nombradas5Encapsulamiento y Acceso
EncapsulamientoCampos de clase públicos y privadosMétodos privadosDesafío de repaso8Organización del código OOP
Organizar clases en módulos11Proyecto: Un renderizador de figuras
Configuración: Clase Figura y exportaciónHerencia de la clase Círculo14Sistema de Gestión de Biblioteca
Diseño de la BibliotecaClase Libro con Composición9Métodos y propiedades estáticos
Nivel de clase vs. Nivel de instanciaPropiedades estáticasMétodos de utilidad estáticosDesafío de repaso