Ndërfaqet për klasat OOP në TypeScript

Ndërfaqet në TypeScript përdoren gjerësisht si modele edhe për klasat. Për të aplikuar një ndërfaqe të nevojshme në një klasë, pas emrit të klasës shkruhet fjala kyçe implements dhe më pas emri i ndërfaqes.

Në këtë rast, ndërfaqet përshkruajnë vetëm vetitë dhe metodat publike të klasës. Pjesa private përcaktohet në vetë klasën dhe nuk përshkruhet në ndërfaqe.

Le ta provojmë në praktikë. Le të themi se kemi ndërfaqen e mëposhtme, e cila përcakton një veti dhe një metodë:

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

Le të krijojmë një klasë që zbaton këtë ndërfaqe. Në këtë klasë duhet të kemi të implementuara vetinë name dhe metodën greet:

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

Krijoni një ndërfaqe IMath me vetitë num1 dhe num2 dhe metodën getDiv, e cila do të ndajë numrin e parë me të dytin.

Задание 2

Krijoni një klasë Math që zbaton ndërfaqen IMath.