c#da inkapsulyatsiya

PPTX 52 sahifa 557,9 KB Bepul yuklash

Sahifa ko'rinishi (5 sahifa)

Pastga aylantiring 👇
1 / 52
mavzu: ms access ilovasi. ilovaning umumiy tavsifi. mavzu: c#da inkapsulyatsiya. statik berilganlar, statik metodlar, statik sinflar. reja: c# da inkapsulyatsiya tushunchasi. maydon xossalari orqali inkapsulyatsiya. static kalit so‘zi. statik berilganlar. statik metodlar va ularga murojaat qilish. ruhsat sinf_nomi(parametrlar_ro’yxati) { // konstruktor tanasi } using system; class myclass { public int x; public myclass() { x = 10; } } class consdemo { static void main() { myclass tl = new myclass(); myclass t2 = new myclass(); console.writeline(tl.x + " " + t2.x); } } parametrli konstruktor using system; class myclass { public int x; public myclass(int i) { x = i; } } class parmconsdemo { static void main() { myclass tl = new myclass(100); myclass t2 = new myclass(88); console.writeline(tl.x + " " + t2.x); } } building sinfiga konstruktor qo’shish public building(int f, int a, int o) { floors = f; area = a; occupants = o; } …
2 / 52
moslashuvchanlik va qayta ishlatish: kod modulli va tartibli bo‘ladi. using system; class myclass { private int alpha; // ruhsat yopiq, aniq belgilangan int beta; // ruhsat yopiq, sukunat bo’yicha public int gamma; // ruhsat ochiq public void setalpha(int a) { alpha = а; } public int getalpha() { return alpha; } public void setbeta(int a) { beta = a; } public int getbeta() { return beta; } } class accessdemo { static void main() { myclass ob = new myclass(); ob.setalpha(-99); ob.setbeta(19) ; console.writeline("ob.alpha="+ob.getalpha()); console.writeline("ob.beta=" + ob.getbeta()); ob.alpha = 10; // xatolik! alpha – yopiq maydon! ob.beta =9; // xatolik! beta – yopiq maydon! ob.gamma = 99; console.writeline("ob.gamma=" + ob.gamma); } } korxonaning bir qancha xizmatchilarining modelini aks ettiradigan xizmatchi sinfini yarataylik. dastlab ximatchi nomi maydonini aniqlaymiz. private string xiz_nomi; xiz_nomi maydonining o’qish metodi quyidagicha ko’rinishda bo’ladi: public string getism() { return xiz_nomi; } demak, dasturda ushbu metodga quyidagicha murojaat …
3 / 52
t=new xizmatchi("sobirov i.i."); string s = xizmat.getnom(); console.writeline("nom maydoni = {0}", s); console.write("davom etish uchun ni bosing"); // nom maydoni qiymatini o'zgartirish: if (xizmat.setnom("odilov i.b.") == 0) xizmat.setnom("odilov i."); s = xizmat.getnom(); console.writeline("nom maydoni= {0}", s); console.write("davom etish uchun ni bosing"); console.readkey(true); } } } xossa – bu ruxsat etilgan maydon metodini taqdim etishni sintaktik jihatdan soddalashtiradi. bu metodlar muhitda foydalanganda get (maydon qiymatini oladi) va set (maydon qiymatini o’rnatadi) deb nomlanadi. get() metodi maydon qiymatini qaytaradi, set() metodi esa maydon qiymatini value o’zgaruvchisi o’zlashtiradi, asosiy dasturda set() metodi qo’llaniladi. bu yerda value tipi har doim xossa tipi bilan mos keladi. public float maosh { get { return xizmatmaosh; } set { xizmatmaosh = value; } } class product{ // avtomatik xossa public string name { get; set; } private double price; // xossa orqali inkapsulyatsiya public double price { get { return price; } set { if (value >= …
4 / 52
omi ko’rsatilishi kerak. masalan, console.writeline(). sinfda statik maydonlar yaratganimizda, u aniq bir qiymatni to’g’ridan-to’g’ri qabul qilishi kerak. masalan, static miqdor=0.12; public class car { public static int numberofcars = 0; // static o‘zgaruvchi public car() { numberofcars++; } } car car1 = new car(); car car2 = new car(); console.writeline(car.numberofcars); // natija: 2 konstruktorni bir necha marta qayta joriy etilganda, har safar obyektlar yaratiladi. statik konstruktor istalgan statik ma’lumotlarni initsializatsiya qilish uchun yoki faqat bir marta joriy etiladigan harakatni aniqlash uchun foydalaniladi. u birinchi nusxa yaratilishidan oldin yoki statik a’zoga birinchi murojaat bo’lganda avtomatik ravishda chaqiriladi. class simpleclass{ // statik o'zgaruvchi dastur ishlashi vaqtida initsializatsiya qilinishi talab qilingan holda: static long dt; /*statik konstruktor istalgan konstruktordan oldin faqat bir marta chaqirilganda yoki birinchi dt o'zgaruvchisi uchgaraganda sinfning nusxasi yaratiladi*/ static simpleclass() { dt = datetime.now.ticks; } } agar sinfning barcha a’zolarini statik holatda bo’lishini istasak, u holda sinfni e’lon qilishda …
5 / 52
{ static void main(string[] args) { console.writeline(numbers.pi); } } public static class numbers { private static double _pi = 3.14; public static double pi { get { return _pi; } } } } sinfning maydoni statik holatda yaratilganda, u sinfning barcha nusxalari bo’yicha taqsimlanadi. ular uchun xotiradan maxsus joy ajratiladi, obyekt yo’qotilganda, har bir a’zo yo’qotilmaydi. maydon nostatik bo’lgan vaqtda esa uning nusxasidan qat’iy nazar, har bir obyekt uchun bo’ladi va ularning yo’qotilishi obyektlarning yo’qotilishi bilan birgalikda bo’ladi, ya’ni xotira ular uchun bo’shatiladi. statik maydonlar saqlanadi, nostatiklari esa – saqlanmaydi e`tiboringiz uchun raxmat! image2.png image3.png image4.tmp /docprops/thumbnail.jpeg

Ko'proq o'qimoqchimisiz?

Barcha 52 sahifani Telegram orqali bepul yuklab oling.

To'liq faylni yuklab olish

"c#da inkapsulyatsiya" haqida

mavzu: ms access ilovasi. ilovaning umumiy tavsifi. mavzu: c#da inkapsulyatsiya. statik berilganlar, statik metodlar, statik sinflar. reja: c# da inkapsulyatsiya tushunchasi. maydon xossalari orqali inkapsulyatsiya. static kalit so‘zi. statik berilganlar. statik metodlar va ularga murojaat qilish. ruhsat sinf_nomi(parametrlar_ro’yxati) { // konstruktor tanasi } using system; class myclass { public int x; public myclass() { x = 10; } } class consdemo { static void main() { myclass tl = new myclass(); myclass t2 = new myclass(); console.writeline(tl.x + " " + t2.x); } } parametrli konstruktor using system; class myclass { public int x; public myclass(int i) { x = i; } } class parmconsdemo { static void main() { myclass tl = new myclass(100); myclass t2 = new myclass(88); …

Bu fayl PPTX formatida 52 sahifadan iborat (557,9 KB). "c#da inkapsulyatsiya"ni yuklab olish uchun chap tomondagi Telegram tugmasini bosing.

Teglar: c#da inkapsulyatsiya PPTX 52 sahifa Bepul yuklash Telegram