JavaScriptLección 13 de 16
Clases
Una clase es un plano: con new construyes a partir de ella todos los objetos parecidos que quieras. Cada cuenta tiene su titular y su saldo, y las reglas para ingresar y retirar son comunes.
Lo esencial
- class Name { constructor(…) { this.x = … } } es el plano con las propiedades iniciales
- new Name(…) crea un objeto, y cada uno recibe los métodos de la clase
- get balance() { … } es un getter: se lee como una propiedad, sin paréntesis
- #balance es un campo privado: fuera de la clase no se puede leer ni cambiar
- class B extends A hereda; super(…) llama al constructor del padre
Ejemplo
class Point { constructor(x, y) { this.x = x; this.y = y; } move(dx, dy) { this.x += dx; this.y += dy; } toString() { return `(${this.x}, ${this.y})`; }} class Point3D extends Point { constructor(x, y, z) { super(x, y); this.z = z; } toString() { return `(${this.x}, ${this.y}, ${this.z})`; }} const p = new Point(1, 2);p.move(3, 4);console.log(`${p}`);console.log(`${new Point3D(1, 2, 3)}`);Point3D heredó move de Point y reemplazó toString. super(x, y) pasó x e y al constructor de Point. Dentro de una plantilla, un objeto se convierte en texto con su toString.
Tarea
Cómo usar el editor⌘ Enter o Ctrl Enter ejecuta el código, ⇧ ⌘ Enter comprueba la tarea.Tab y Mayús Tab sangran la línea o la selección; Esc y luego Tab sale del editor.La comprobación compara lo que imprimió el programa con la tarea; los espacios al final de línea no cuentan.Tras dos comprobaciones fallidas puedes ver la solución. Tu código se guarda en este navegador.Completa el pequeño banco: deposit suma a #balance y withdraw retira dinero o, si no alcanza, imprime Not enough money. En SavingsAccount añade addInterest(percent), que ingresa ese porcentaje del saldo. Salida: Not enough money, Nora: 165 y true.
Salida
Aquí aparecerá lo que imprima el programa.