Programming TypeScript


interfeys StringDatabase { davlat : davlat get ( kalit : string ) : ip


Download 1.81 Mb.
bet81/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   77   78   79   80   81   82   83   84   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

interfeys StringDatabase {
davlat : davlat
get ( kalit : string ) : ip | null set ( kalit : string , qiymat : string ) : bekor }
StringDatabase konstruktor turi :
interfeys StringDatabaseConstructor {
yangi () : StringMa'lumotlar bazasi
dan ( shtat : Shtat ) : StringMa'lumotlar bazasi }
Ya'ni, StringDatabaseConstructor bitta .from usuliga ega va yangi konstruktor StringDatabase misolini beradi. Birgalikda bu ikki interfeys sinfning konstruktor va misol tomonlarini modellashtiradi.
Bu new() biti konstruktor imzosi deb ataladi va TypeScript-ning ma'lum bir turni new operatori bilan yaratish mumkinligini aytish usulidir . TypeScript tizimli ravishda terilganligi sababli, sinf nima ekanligini tasvirlash uchun biz qila oladigan eng yaxshi narsa bu: sinf yangi bo'lishi mumkin bo'lgan har qanday narsadir .
Bu holda konstruktor hech qanday argumentlarni qabul qilmaydi, lekin siz undan argumentlarni qabul qiladigan konstruktorlarni e'lon qilish uchun ham foydalanishingiz mumkin. Masalan, StringDatabase-ni ixtiyoriy boshlang'ich holatni olish uchun yangilaymiz :
sinf StringDatabase {
konstruktor ( ommaviy davlat : davlat = {}) {}
// ...
}
StringDatabase konstruktor imzosini quyidagicha yozishimiz mumkin :
interfeys StringDatabaseConstructor { yangi ( holat ?: Davlat ) : StringMa'lumotlar bazasi dan ( shtat : Shtat ) : StringMa'lumotlar bazasi }
Shunday qilib, sinf deklaratsiyasi nafaqat qiymat va tur darajalarida atamalar hosil qiladi, balki u tip darajasida ikkita atama hosil qiladi: biri sinf namunasini ifodalaydi; sinf konstruktorining o'zini ifodalovchi biri ( typeof turi operatori bilan mavjud).

Polimorfizm


Funktsiyalar va turlar singari, sinflar va interfeyslar umumiy turdagi parametrlarni, jumladan, standart va chegaralarni qo'llab-quvvatlaydi. Siz umumiy sinfni yoki interfeysingizni yoki ma'lum bir usulni qamrab olishingiz mumkin:

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   77   78   79   80   81   82   83   84   ...   206




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling