En TypeScript, la herencia en interfaces permite crear una interfaz nueva basada en otra interfaz existente, heredando sus propiedades y métodos.
Herencia de interfaces en TypeScript
Utilizamos la palabra clave extends para aplicar la herencia en interfaces. Veamos un ejemplo:
interfaceAnimal{ nombre: string;comer():void;}interfaceMascotaextendsAnimal{// 👈 Herencia de interfaces// Hereda la propiedad `nombre` y el método `comer()` de la interfaz `Animal`jugar():void;}classPerroimplementsMascota{ nombre: string;constructor(nombre: string){this.nombre= nombre;}comer(){console.log(this.nombre+" está comiendo.");}jugar(){console.log(this.nombre+" está jugando.");}}const miPerro =newPerro("Firulais");miPerro.comer();// "Firulais está comiendo."miPerro.jugar();// "Firulais está jugando."
En el ejemplo, declaramos una interface llamada Animal con un atributo nombre y un método comer(). Después, implementamos otra llamada Mascota que extiende la interfaz Animal y agrega un nuevo método con el nombre jugar(). La clase Perro implementa la interfaz Mascota, por lo que no solo debe implementar el método jugar(), sino también el atributo nombre y el método comer() que fueron heredados de la interfaz Animal en la interfaz Mascota.