extends und implements in TypeScript: Was ist der Unterschied?
Hallo zusammen! Ich habe gerade angefangen, TypeScript nach JavaScript zu lernen, und bin bei zwei Schlüsselwörtern verwirrt – `extends` und `implements`. Beide scheinen für die Arbeit mit Klassen und Interfaces verwendet zu werden, aber ich verstehe nicht, wann man was anwendet.
Ich habe ein einfaches Interface `Animal`, das grundlegende Eigenschaften und Methoden beschreibt:
```typescript
interface Animal {
name: string;
makeSound(): void;
}
```
Und ich möchte eine Klasse `Dog` erstellen. In Beispielen habe ich gesehen, dass sowohl `extends` als auch `implements` verwendet werden:
```typescript
// Variante 1: implements
class Dog implements Animal {
name: string;
constructor(name: string) {
this.name = name;
}
makeSound() {
console.log("Woof!");
}
}
// Variante 2: extends (wenn es eine Basisklasse gäbe)
class AnimalBase {
name: string;
constructor(name: string) {
this.name = name;
}
}
```