Volver a Interfaces y Clases
Interfaces y Clases — Leccion 2
·15 minHerencia con Extends
Interfaces y clases que extienden de otras.
Extends en Interfaces
Una interface puede heredar de otra usando extends.
typescript
interface Animal {
nombre: string;
edad: number;
}
interface Perro extends Animal {
raza: string;
ladra: boolean;
}
const miPerro: Perro = {
nombre: "Rex",
edad: 5,
raza: "Labrador",
ladra: true,
};
### Múltiples extends
```typescript
interface Volador {
volar(): void;
}
interface Nadador {
nadar(): void;
}
interface Pato extends Volador, Nadador {
nombre: string;
}
const pato: Pato = {
nombre: "Donald",
volar: () => console.log("Volando"),
nadar: () => console.log("Nadando"),
};
Extends en Clases
typescript
class Animal {
nombre: string;
constructor(nombre: string) {
this.nombre = nombre;
}
hacerSonido(): string {
return "...";
}
}
class Perro extends Animal {
raza: string;
constructor(nombre: string, raza: string) {
super(nombre);
this.raza = raza;
}
hacerSonido(): string {
return "Guau!";
}
}
const perro = new Perro("Rex", "Labrador");
perro.hacerSonido(); // "Guau!"
Override de métodos
typescript
class Forma {
area(): number {
return 0;
}
}
class Circulo extends Forma {
constructor(private radio: number) {
super();
}
area(): number {
return Math.PI * this.radio ** 2;
}
}
class Rectangulo extends Forma {
constructor(private ancho: number, private alto: number) {
super();
}
area(): number {
return this.ancho * this.alto;
}
}
Ejercicio pratico
Crea una interface Vehículo y una interface Eléctrica que extienda de ella.
exercise.ts
Loading...
Resultado
Haz clic en "Ejecutar" para ver el resultado...