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

IMath интерфейсини амалга оширадиган Math классни ясангиз.