1-Mavzu 1-Mavzu Reja: Klass a’zolariga ruxsatni boshqarish


public void Set(int a, int b) {


Download 116.94 Kb.
bet77/100
Sana02.01.2022
Hajmi116.94 Kb.
#200801
1   ...   73   74   75   76   77   78   79   80   ...   100
Bog'liq
dasturiy injinering

public void Set(int a, int b) {

i = a;

j = b;

}

public void Show() {

Console.WriteLine (i + " " + j);

}

}

class D : В {

int k; // yopiq a'zo

// B sinfining i va j a'zolari D sinfi uchun mavjud

public void Setk() {

k = i * j;

}

public void Showk() {

Console.WriteLine(k) ;

}

}

class ProtectedDemo { 

static void Main() {

D ob = new D();

ob.Set(2, 3); // D sinfi uchun mavjud bo'lgani uchun ruxsat beriladi

ob.Show(); // D sinfi uchun mavjud bo'lgani uchun ruxsat beriladi

ob.Setk(); // D sinfiga kirganligi uchun ruxsat beriladi

ob.ShowkO; // D sinfiga kirganligi uchun ruxsat beriladi

}

}

Ushbu misolda B klassi D klassi tomonidan meros qilib olinadi va uning a'zolari i va himoyalangan deb e'lon qilingani uchun ular Setk() metodi uchun mavjud. Agar B sinfining i va j a'zolari private deb e'lon qilinganda edi, ularga D sinfidan kirib bo`lmasdi va yuqoridagi kodni kompilyatsiya qilinmas edi.

public va private holatiga o'xshash, protected holati ham meros darajalari sonidan qat'i nazar sinf a'zosi uchun saqlanadi. Shuning uchun, bir natijaviy sinf boshqa natijaviy sinf asosiy sinf sifatida ishlatiladi, boshlang`ich asosiy sinfning har qanday himoyalangan a'zosi, birinchi natijaviy sinfga himoyalangan meros bo`lib o`tadi, undan himoyalangan meros bo`lib keyingi ikkinchi natijaviy sinfga o`tadi.

O`zining barcha foydali jihatlariga qaramasdan, himoyalangan kirish barcha holatlar uchun mos emas. Shunday qilib, yuqorida keltirilgan misollardagi TwoDShape sinfining Width va Height a'zolarining qiymatlari ochiq bo'lishi kerak, agar ular protected deb e'lon qilingan bo'lsa, ularga beriladigan qiymatlarni boshqarib bo`lmaydi. Bunday holda, yanada qulay yechim kirishni boshqarishni oldini olish emas balki xususiyatlardan foydalanish edi. Shunday qilib, himoyalangan kirish modifikatori sinfning barcha ierarxiyasi uchun mavjud bo'lgan sinf a'zosini yaratish va qolgan kod uchun u yopiq bo'lishi zarur bo'lgan hollarda qo'llanilishi kerak. Sinf a'zosining qiymatiga kirishni boshqarishda xususiyatdan foydalanish yaxshiroqdir.

Nazorat savollari

  1. Vorislash deganda nimani tushunasiz?

  2. Vorislash hamda xususiyatlari haqida to`liq tushuncha berin.

  3.  7-Mavzu: Interfeyslar, strukturalar va ro‘yxatlar tushunchasi, ulardan foydalanish

  4.  7-Mavzu

Download 116.94 Kb.

Do'stlaringiz bilan baham:
1   ...   73   74   75   76   77   78   79   80   ...   100




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