Gränssnitt för OOP-klasser i TypeScript
Gränssnitt i TypeScript används i stor utsträckning
både som mallar och för klasser. För att
tillämpa ett gränssnitt på en klass
skrivs nyckelordet implements efter klassnamnet
och sedan namnet på gränssnittet.
Samtidigt beskriver gränssnitt endast klassens publika egenskaper och metoder. Den privata delen definieras i själva klassen och beskrivs inte i gränssnittet.
Låt oss prova i praktiken. Låt oss säga att vi har följande gränssnitt, som definierar en egenskap och en metod:
interface IUser {
name: string;
greet(): string;
}
Låt oss skapa en klass som implementerar detta gränssnitt.
I denna klass måste vi ha implementerat
egenskapen name och metoden greet:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
Skapa ett gränssnitt IMath med egenskaperna
num1 och num2 och en metod
getDiv, som kommer att dividera det första
talet med det andra.
Skapa en klass Math som implementerar
gränssnittet IMath.