Schnittstellen für OOP-Klassen in TypeScript
Schnittstellen in TypeScript werden weit verbreitet
als Vorlagen auch für Klassen verwendet. Um
eine benötigte Schnittstelle auf eine Klasse anzuwenden,
wird nach dem Klassennamen das Schlüsselwort
implements und dann der Name der Schnittstelle geschrieben.
Dabei beschreiben Schnittstellen nur die öffentlichen Eigenschaften und Methoden der Klasse. Der private Teil wird in der Klasse selbst definiert und in der Schnittstelle nicht beschrieben.
Probieren wir es in der Praxis aus. Angenommen, wir haben die folgende Schnittstelle, die eine Eigenschaft und eine Methode definiert:
interface IUser {
name: string;
greet(): string;
}
Erstellen wir eine Klasse, die diese Schnittstelle implementiert.
In dieser Klasse müssen die Eigenschaft
name und die Methode greet implementiert sein:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
Erstellen Sie eine Schnittstelle IMath mit den Eigenschaften
num1 und num2 und einer Methode
getDiv, die die erste Zahl durch die zweite teilt.
Erstellen Sie eine Klasse Math, die die
Schnittstelle IMath implementiert.