DevPath · Aprende a programar ESPTEN

Proyectos prácticos

Modelar con clases

Modelar un sistema con clases

Cuando un proyecto maneja estado que cambia (una lista de tareas, un carrito, un inventario), las clases ayudan a agrupar los datos y las operaciones que actúan sobre ellos.

class Carrito {
  constructor() {
    this.items = [];
  }
  agregar(producto, precio) {
    this.items.push({ producto, precio });
  }
  eliminar(producto) {
    this.items = this.items.filter((i) => i.producto !== producto);
  }
  total() {
    return this.items.reduce((acc, i) => acc + i.precio, 0);
  }
  get cantidad() {
    return this.items.length;
  }
}

const carrito = new Carrito();
carrito.agregar("libro", 20);
carrito.agregar("café", 5);
console.log(carrito.total());    // 25
console.log(carrito.cantidad);   // 2

Buenas prácticas

Esta forma de pensar — datos + comportamiento juntos — es la base de la programación orientada a objetos.

Ejemplos

Una clase con estado y métodos

class Contador {
  constructor() { this.valor = 0; }
  subir() { this.valor++; return this; }
  bajar() { this.valor--; return this; }
}
const c = new Contador();
c.subir().subir().bajar();
console.log("Valor final:", c.valor);
Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
← Procesar datos con map, filter y reduceVer el módulo →