12-mavzu. Vorislik va unda konstruktorlarni ishlatish


Xavfsiz murojaatni tashkil etish


Download 48.37 Kb.
bet2/3
Sana08.11.2023
Hajmi48.37 Kb.
#1755129
1   2   3
Bog'liq
12-м. Ворислик. Синфлар шажараси.

Xavfsiz murojaatni tashkil etish
Aytaylik, voris sinf uchun tayanch sinfning yopiq a'zosi mavjud emas. Bu shuni ko'rsatadiki, voris sinfdan tayanch sinf a'zosiga murojaat qilish uchun ushbu a'zoni ochiq qilish kerak. Ammo agar siz sinf a'zosini ochiq qilsangiz, u hamma kodlar uchun mavjud bo'ladi, bu har doim ham istalmagan. Bu holatning oldini olish uchun, C # himoyalangan sinf a'zosini yaratishga imkon beradi. Himoyalangan a'zolar sinf ierarxiyasida ochiq, ammo bu ierarxiyadan tashqarida yopiq bo’ladi.
Himoyalangan a'zo protected modifikatori yordamida yaratiladi. Agar sinf a'zosi himoyalangan deb e'lon qilinsa, u himoyalangan a'zo meros qilib olinadigan holatlaridan tashqari, yopiq bo'ladi. Bunday holda, tayanch sinfning himoyalangan a'zosi voris sinfning himoyalangan a'zosiga aylanadi va shu sababli voris sinf uchun mavjud bo'ladi. Shunday qilib, himoyalangan murojaat modifikatoridan foydalanib, siz o'z sinfingiz uchun yopiq bo'lgan, ammo meros qilib olingan va voris sinf uchun mavjud bo'lgan sinf a'zolarini yaratishingiz mumkin:
Misol.
using System;
class Koordinata
{
protected double x, y;
public void View()
{
Console.WriteLine("Nuqta koordinatalari: ({0}; {1})",x,y);
}
}
class VEKTOR : Koordinata
{
public VEKTOR()
{
this.x = 0; this.y = 0;
}
public VEKTOR(double x, double y)
{
this.x = x; this.y = y;
}
public double Uzunlik()
{
return Math.Sqrt(x * x + y * y);
}
public VEKTOR AddM(double a, double b)
{
VEKTOR v = new VEKTOR();
v.x = x + a; v.y = y + b;
return v;
}

}
class Program


{
public static void Main()
{
VEKTOR v1 = new VEKTOR(4, 5);
VEKTOR v2 = new VEKTOR();

v2=v1.AddM(2,3);


v2.View();
Console.ReadKey();

}
}
public va private singari, protected meros bo’ladiganlar sonidan qat'iy nazar, sinf a'zosi bo’lib saqlanib qoladi. Shuning uchun, voris sinf boshqa voris sinfning tayanch sinf sifatida ishlatilganda, birinchi kelib chiqqan sinf tomonidan meros bo'lib olingan har qanday himoyalangan (protected) a'zosi, ikkinchi voris sinf tomonidan himoyalangan (protected) a'zosi sifatida meros qilib olinadi.



Download 48.37 Kb.

Do'stlaringiz bilan baham:
1   2   3




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