Nima uchun enum konstruktori xususiy?
Nima uchun enum konstruktori xususiy?

Video: Nima uchun enum konstruktori xususiy?

Video: Nima uchun enum konstruktori xususiy?
Video: TypeScript - Enums: Обзор и когда не надо использовать 2024, May
Anonim

Siz haqiqatan ham ommaviy bo'lolmaysiz enum konstruktori . Bu sizga kerak konstruktor bolmoq xususiy , chunki sanamlar chekli qiymatlar to'plamini aniqlang (masalan, EN_US, EN_UK, FR_FR, FR_BE). Agar konstruktor jamoat odamlari potentsial ravishda ko'proq qiymatlarni yaratishi mumkin edi (masalan, XX_KK va boshqalar kabi noto'g'ri/e'lon qilinmagan qiymatlar).

Shu munosabat bilan, enum konstruktorga ega bo'lishi mumkinmi?

Buning sababi enum Java sobit doimiy qiymatlarni o'z ichiga oladi. Demak, ommaviy yoki himoyalangan bo'lishning ma'nosi yo'q konstruktor misolini yarata olmaysiz enum . Bundan tashqari, ichkariga e'tibor bering enum quyidagi kabi sinfga aylantiriladi. Biz kabi mumkin yaratma enum ob'ektlar aniq shuning uchun biz mumkin chaqirmang enum konstruktori bevosita.

Bundan tashqari, enum konstruktori va oddiy sinf konstruktori o'rtasidagi farq nima? Savolga javob berish uchun: aslida yo'q orasidagi farq ikki yondashuv. Biroq, enum construct sizga values(), valueOf() va h.k. kabi qoʻshimcha qoʻllab-quvvatlovchi usullarni taqdim etadi, ularni oʻzingiz yozishingiz kerak boʻladi. sinf -xususiy-bilan- konstruktor yondashuv.

Bundan tashqari, enumlarning maqsadi nima?

The enum nomli butun son konstantalari ro'yxatini e'lon qilish uchun ishlatiladi. yordamida aniqlash mumkin enum kalit so'z to'g'ridan-to'g'ri nom maydoni, sinf yoki tuzilma ichida. The enum doimiy butun songa uning nomidan murojaat qilish uchun har bir konstantaga nom berish uchun ishlatiladi. Misol: enum.

Enumlarni instantsiyalash mumkinmi?

Enums jamoat konstruktorlarini qo'llab-quvvatlamaydi va shuning uchun bo'lishi mumkin emas yaratilgan . Enums bog'liq konstantalarning qat'iy to'plamiga ega bo'lganingizda. Aynan bitta misol bo'ladi har biri uchun yaratiladi enum doimiy.

Tavsiya: