TypeScript-da OOP klasslari uchun interfeyslar

TypeScript-da interfeyslar shablonlar sifatida keng qo‘llaniladi shuningdek klasslar uchun ham. Klassga kerakli interfeysni qo‘llash uchun klass nomidan keyin implements kalit so‘zi yoziladi va keyin interfeys nomi.

Bunda interfeyslar faqat klassning ochiq xususiyatlari va metodlarini tasvirlaydi. Privat qismi klassning o‘zida belgilanadi va interfeysda tasvirlanmaydi.

Keling, amalda sinab ko‘ramiz. Faraz qilaylik, bizda quyidagi interfeys mavjud bo‘lsin, xususiyat va metodni belgilovchi:

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

Keling, ushbu interfeysni amalga oshiradigan klass yarataylik. Ushbu klassda bizda name xususiyati va greet metodi amalga oshirilishi kerak:

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

IMath interfeysini yarating, uning xususiyatlari num1 va num2, metodi esa getDiv bo‘lsin, u birinchi sonni ikkinchisiga bo‘ladi.

Задание 2

IMath interfeysini amalga oshiradigan Math klassini yarating.