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


Download 116.94 Kb.
bet10/100
Sana02.01.2022
Hajmi116.94 Kb.
#200801
1   ...   6   7   8   9   10   11   12   13   ...   100
Bog'liq
dasturiy injinering

office.Occupants = 25;

office.Area = 4200;

office.Floors = 3;

// Turar-joy binolarida bir kishi uchun maydonni hisoblang.

areaPP = house.Area / house.Occupants;

Console.WriteLine("Дом имеет:\n " +

house.Floors + " этажа\п " +

house.Occupants + " жилыда\п " +

house.Area +

" кв. футов общей площади, из них\п " +

areaPP + " приходится на одного человека")

// Muassasada bir kishi uchun maydonni hisoblash.

areaPP = office.Area / office.Occupants;

Console.WriteLine("Учреждение имеет:\n " +

office.Floors + " этажа\п " +

office.Occupants + " работников\п " +

office.Area +

" кв. футов общей площади, из них\п " +

areaPP + " приходится на одного человека"

}

}

Quyida ushbu dasturning natijasi keltirilgan.

Дом имеет:

2 этажа

4 жильца

2500 кв. футов общей площади, из них

625 приходится на одного человека

Учреждение имеет:

3 этажа

25 работников

4200 кв. футов общей площади, из них

168 приходится на одного человека

Ko'rib turganingizdek, house ob'ektidan olingan ma'lumotlar office ob'ektidagi ma'lumotlardan butunlay ajralib turadi.


Ob'ekt yaratish

Avvalgi misollarda, Building ob'ektini e'lon qilish uchun quyidagi kod satrida ishlatilgan.

Building house = new Building();

Ushbu e`lon qilish satri uchta vazifani bajaradi. Birinchidan, Building sinfi tipi bilan bog`liq house o'zgaruvchisi e'lon qilinadi. Bu o'zgaruvchining o'zi ob'ekt emas, balki ob'ektga murojaat qilishi mumkin bo'lgan ko`rsatgich. Ikkinchidan, ob'ektning o'ziga xos fizik nusxasi yaratiladi. Bu new operatori yordamida amalga oshiriladi. Nihoyat, house o'zgaruvchisi ushbu ob'ektga havola(ссылка) beriladi. Shunday qilib, e'lon qilingan o'zgaruvchi house ob'ekt Building tipida ekanligini anglatadi.

new peratori dinamik ravishda (ya'ni, bajarilish vaqtida) ob'ektga xotiradan  joy ajratadi va unga havola(ссылка)ni qaytaradi, bu esa o'zgaruvchida saqlanadi. Natijada, C# da barcha sinflarning ob'ektlari uchun xotira dinamik ravishda taqsimlanishi mumkin.

Kutilganidek, house o'zgaruvchisini ko`rsatgich sifatida alohida e'lon qilish mumkin, u quyidagicha amalga oshiriladi.

Building house; // ob`ektga ko`rsatgichni e`lon qilish

house = new Building();Building tipdagi ob`ektga xotiradan joy ajratish.

Birinchi satrda e`lon qilingan house o`zgaruvchi Building tipdagi ob'ektga mos ko`rsatgish hisoblanadi.

Binobarin, house ob`ekt emas balki ob`ektga ko`rsatgich sifatidagi o`zgaruvchi hisoblanadi. Ikkinchi satrda Building tipida yangi ob'ekt yaratilagan va unga havola house o'zgaruvchisiga berilgan. Natijada, house o'zgaruvchisi ushbu ob'ekt bilan bog'lab qo`yiganligi ma`lum qilingan.

Bu holat, sinflarning ob'ektlariga havola mavjud bo'lganligi sababli, sinflar ko`rsatgich tiplari deb ataladi. Malumotlarning ko`rsatgich tiplari bilan qiymatli tiplar o`rtasidagi asosiy farq, bu tiplar qiymat tiplari o'zgaruvchilarini o'z ichiga oladi. Shunday qilib, qiymat tipi o'zgaruvchisi aniq bir qiymatni o'z ichiga oladi. Misol uchun, kodning bir qismida

int x;

х = 10;

x o`zgaruvchiga qiymat sifatida 10 berilyapti, bu qiymat int tipida tipida ekanligini anglatadi. Lekin bu qatordagi

Building house = new Building();

house o'zgaruvchisi ob'ektning o'zi emas, balki faqat unga havola hisoblanadi.

Download 116.94 Kb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   ...   100




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