Proceso de redefinir un método heredado de una clase base para cambiar su comportamiento.
Permite que las subclases proporcionen implementaciones específicas de métodos de la clase padre.
// Override en TypeScript class Animal { hablar(): string { return 'Sonido genérico'; } moverse(): void { console.log('El animal se mueve'); } } class Perro extends Animal { // Override del método hablar override hablar(): string { return '¡Guau!'; } // Override con llamada al padre override moverse(): void { super.moverse(); // Llamar implementación del padre console.log('El perro corre'); } } class Gato extends Animal { override hablar(): string { return '¡Miau!'; } } // Polimorfismo const animales: Animal[] = [new Perro(), new Gato()]; for (const animal of animales) { console.log(animal.hablar()); // '¡Guau!' luego '¡Miau!' } // El keyword 'override' es opcional pero recomendado // Ayuda a detectar errores si el método padre no existe