Programming TypeScript
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
ruxsat bering foydali yuk = yangi DecoratedAPIPpayload foydali yuk . serialize () // string
Biz bu kitobda dekorativlarga chuqurroq kirmaymiz. Qo'shimcha ma'lumot olish uchun rasmiy hujjatlarga o'ting . Yakuniy darslarni simulyatsiya qilishyakuniy kalit so'zni qo'llab-quvvatlamasa ham , uni sinflar uchun simulyatsiya qilish oson. Agar siz ilgari ob'ektga yo'naltirilgan tillar bilan ko'p ishlamagan bo'lsangiz, final bu ba'zi tillar sinfni kengaytirilmaydigan yoki usulni bekor qilib bo'lmaydigan deb belgilash uchun foydalanadigan kalit so'zdir. yakuniy sinflarni simulyatsiya qilish uchun biz xususiy konstruktorlardan foydalanishimiz mumkin: sinf MessageQueue { xususiy konstruktor ( xususiy xabarlar : string []) {} } Agar konstruktor private deb belgilangan boʻlsa, siz sinfni yangilay olmaysiz yoki uni kengaytira olmaysiz: sinf BadQueue uzaytiradi MessageQueue {} // Xato TS2675: sinfni kengaytirib bo'lmadi // "MessageQueue". Sinf konstruktori // shaxsiy sifatida belgilangan. yangi MessageQueue ([]) // Xato TS2673: sinf konstruktori // 'MessageQueue' shaxsiy va faqat // sinf ichida foydalanish mumkin // deklaratsiya. Xususiy konstruktorlar sinfni kengaytirishingizga to'sqinlik qilish bilan bir qatorda, uni to'g'ridan-to'g'ri yaratishingizga ham to'sqinlik qiladi. Ammo yakuniy sinflar uchun biz sinfni yaratish qobiliyatini xohlaymiz, faqat uni kengaytirish uchun emas. Qanday qilib birinchi cheklovni saqlab qolamiz, lekin ikkinchisidan qutulamiz? Oson: sinf MessageQueue { xususiy konstruktor ( xususiy xabarlar : string []) {} statik yaratish ( xabarlar : string []) { qaytish yangi MessageQueue ( xabarlar ) } } Bu MessageQueue API-ni biroz o'zgartiradi, lekin kompilyatsiya vaqtida kengaytmalarni oldini olish uchun ajoyib ishni bajaradi: sinf BadQueue uzaytiradi MessageQueue {} // Xato TS2675: sinfni kengaytirib bo'lmadi // "MessageQueue". Sinf konstruktori // shaxsiy sifatida belgilangan. MessageQueue . yaratish ([]) // MessageQueue Download 1.81 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling