Extender interfaces
Clase 14 de 22 • Curso de TypeScript: Tipos Avanzados y Funciones
Resumen
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:
interface Animal {
nombre: string;
comer(): void;
}
interface Mascota extends Animal { // 👈 Herencia de interfaces
// Hereda la propiedad `nombre` y el método `comer()` de la interfaz `Animal`
jugar(): void;
}
class Perro implements Mascota {
nombre: string;
constructor(nombre: string) {
this.nombre = nombre;
}
comer() {
console.log(this.nombre + " está comiendo.");
}
jugar() {
console.log(this.nombre + " está jugando.");
}
}
const miPerro = new Perro("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
.
Contribución creada por: Martín Álvarez (Platzi Contributor).