Avatar ·

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; } } ```