12-mavzu. Vorislik va unda konstruktorlarni ishlatish
Xavfsiz murojaatni tashkil etish
Download 48.37 Kb.
|
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; } }
{ public static void Main() { VEKTOR v1 = new VEKTOR(4, 5); VEKTOR v2 = new VEKTOR(); v2=v1.AddM(2,3); v2.View(); Console.ReadKey(); }
Download 48.37 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling