Liidesed OOP klassidele TypeScriptis

Liidesed TypeScriptis kasutatakse laialdaselt nii mallidena kui ka klasside jaoks. Selleks, et rakendada klassis vajalikku liidest, pärast klassi nimetust kirjutatakse võtmesõna implements ja seejärel liidese nimi.

Samal ajal kirjeldavad liidesed ainult klassi avalikke omadusi ja meetodeid. Privaatne osa määratakse klassis endas ja seda ei kirjeldata liideses.

Proovime seda praktikas. Oletame, et meil on järgmine liides, mis määrab omaduse ja meetodi:

typescriptinterface IUser {
  name: string;
  greet(): string;
}

Teeme klassi, mis rakendab seda liidest. Selles klassis peavad olema realiseeritud omadus name ja meetod greet:

typescriptclass User implements IUser {
  name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  greet() {
    return `Tere, ${this.name}!`;
  }
}
Задание 1

Looge liides IMath omadustega num1 ja num2 ning meetodiga getDiv, mis jagab esimese numbri teisega.

Задание 2

Tehke klass Math, mis rakendab liidest IMath.