Ինտերֆեյսներ ՕՕՊ դասերի համար TypeScript-ում

Ինտերֆեյսները TypeScript-ում լայնորեն օգտագործվում են նաև որպես կաղապարներ դասերի համար: Որպեսզի դասին կիրառվի պահանջվող ինտերֆեյսը, դասի անվանումից հետո գրվում է implements բանալի բառը և ապա ինտերֆեյսի անունը:

Միաժամանակ, ինտերֆեյսները նկարագրում են միայն դասի հանրային հատկություններն ու մեթոդները: Մասնավոր մասը սահմանվում է հենց դասի ներսում և ինտերֆեյսում չի նկարագրվում:

Փորձենք գործնականում: Ենթադրենք ունենք հետևյալ ինտերֆեյսը, որը սահմանում է հատկություն և մեթոդ:

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

Եկեք ստեղծենք մի դաս, որն իրականացնում է այս ինտերֆեյսը: Այս դասում մենք պետք է ունենանք իրականացված name հատկությունը և greet մեթոդը:

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

Ստեղծեք IMath ինտերֆեյսը հետևյալ հատկություններով՝ num1 և num2, և getDiv մեթոդով, որը կբաժանի առաջին թիվը երկրորդի վրա:

Задание 2

Ստեղծեք Math դասը, որն իրականացնում է IMath ինտերֆեյսը: