1-Mavzu 1-Mavzu Reja: Klass a’zolariga ruxsatni boshqarish
Ruxsat modifikatorini aniq belgilashga misol
Download 116.94 Kb.
|
dasturiy injinering
Ruxsat modifikatorini aniq belgilashga misol:
Ruxsatni ko`rsatmasak ham bo`ladi:
Agar ruxsat modifikatori maydonlar va metodlarda belgilanmagan bo'lsa, bunday holda ularga odatda private modifikatori qo'llaniladi. Modifikatorsiz e'lon qilingan sinflar va tuzilma(struktura)lar uchun odatda internal modefikatori qo'llaniladi. To'g'ridan-to'g'ri nomlari yozilgan va boshqa sinflarni o`z ichiga olmagan barcha sinflar va strukturalar faqat puclic yoki internal modifikatorlarida bo'lishi mumkin. Keling, misol sifatida navbatdagi State sinfini yaratishni ko`rib chiqaylik:
State klassi public modifikator bilan e'lon qilinganligi sababli, udan dasturning istalgan joyida, shuningdek, boshqa dasturlarda va majmualarda foydalanish mumkin bo'ladi. State klassida har bir ruxsat darajasi uchun beshta maydonga ega. Bundan tashqari, modifikatorsiz odat bo'yicha yopiq (private) holatda bitta o'zgaruvchi mavjud. Bundan tashqari, sinf maydonlarining qiymatlarini ekranda ko'rsatuvchi oltita metod aniqlangan. Unutmang, State kontekstida bo'lgani kabi barcha modifikatorlar har bir sinfga o`z ichidagi barcha sinf a'zolaridan, o'zgaruvchilar va metodlar, shu jumladan yopiqlaridan ham foydalanish imkonini beradi. Agar State va dastur bitta loyihada bo'lsa, biz dasturda sinfimiz o'zgaruvchilarini qanday ishlatish mumkinligini ko'rib chiqa olamiz (ya'ni, sinf dasturidagi Main metodida):
Shunday qilib, kontentda faqat internalVar, protectedInternalVar va publicVar o'zgaruvchilarining modifikatorlari bergan ruxsatdan foydalanib ularning qiymatlarini o`zgartirish imkoniga ega bo`ldik. Metodlar bilan ham xuddi shunday vaziyat mavjud:
Bu erda faqat uchta metodga modifikatorlari internal, protected internal, public bo`lganligi uchun ruxsat mavjud: internalMethod, protectedInternalMethod, publicMethod. Ushbu ruxsat modifikatorlari tizimi tufayli dasturning boshqa qismlaridan sinfingizning ayrim qismlarini yashirishingiz mumkin. Garchi public va internal modifikatorlari o'zlarining xususiyatlarida o'xshashliklar bo'lsada, lekin ular bir biridan katta farqga ega. Agar sinf ma'lumotlarning dinamik DLL kutubxonasiga joylashtirilsa va undan keyin ushbu dasturlarda ishlatilsa, u holda public modifikatorli sinflar va sinf a'zolaridan boshqa dasturlar ham foydalanish huquqida ega bo'ladi. Download 116.94 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling