DevPath · Aprende a programar ESPTEN

Programación orientada a objetos

Clases, constructor y métodos

Clases

Una clase es una plantilla para crear objetos del mismo tipo. Define qué datos tendrán (en el constructor) y qué pueden hacer (los métodos).

class Persona {
  constructor(nombre, edad) {
    this.nombre = nombre;
    this.edad = edad;
  }

  saludar() {
    return `Hola, soy ${this.nombre}`;
  }
}

const ana = new Persona("Ana", 30);
console.log(ana.saludar()); // "Hola, soy Ana"

Prototipos: lo que hay debajo

Las clases son una sintaxis más cómoda sobre el sistema de prototipos de JavaScript. Los métodos no se copian en cada objeto: viven en un objeto compartido (el prototipo) y todas las instancias lo consultan. Por eso crear mil personas no duplica mil veces el método saludar.

Ejemplos

Definir una clase y crear instancias

class Rectangulo {
  constructor(ancho, alto) {
    this.ancho = ancho;
    this.alto = alto;
  }
  area() {
    return this.ancho * this.alto;
  }
}
const r = new Rectangulo(4, 3);
console.log("Área:", r.area());
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 →
← Objetos y thisHerencia y encapsulación →