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:
interface IUser {
name: string;
greet(): string;
}
Keling, ushbu interfeysni amalga oshiradigan klass yarataylik.
Ushbu klassda bizda name xususiyati va greet metodi
amalga oshirilishi kerak:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
IMath interfeysini yarating, uning xususiyatlari
num1 va num2, metodi esa
getDiv bo‘lsin, u birinchi
sonni ikkinchisiga bo‘ladi.
IMath interfeysini amalga oshiradigan
Math klassini yarating.