Mavzu: nomlar fazosi


Download 271.68 Kb.
bet5/5
Sana18.06.2023
Hajmi271.68 Kb.
#1577802
1   2   3   4   5
Bog'liq
NOMLAR FAZOSI

Dastur natijasi:
Sonni kiriting n=45
45 soni tub emas
Sonlarni kiriting
a=19
b=89
Egizak tub sonlar (29,31)
Egizak tub sonlar (41,43)
Egizak tub sonlar (59,61)
Egizak tub sonlar (71,73)
Namespace (nomlar fazosi)

1) Ko'plab o'zgarmaslar, o'zgaruvchilar, funksiyalar va boshqalar dastur matnida uchratiladi. Bilamizkib dastur matnida fa faqat unikal nomlardan foydalanish zarur.


Ammo dasturlashda bir xil nom ostida ham o'zgarmaslar, o'zgaruvchilar, funksiyalar uchrashi mumkin. Bu holni esa kompilyatorga tushuntitirish muammosini nomlar fazosi orqali hal qilish oson
Buning uchun shaxsiy nomlar fazosi yaratiladi. Kalit so'z 'namespace'

namespace hello


{
void my_function()
{
std::cout << "Hello World !";
}
}

2) Agar dastur matnida shaxsiy nomlar fazosiga nisbatan ko'p murojat bo'lsa uni ham soddalashtirish mumkin. Kalit so'z 'using namespace'


3) Agan nmlar fazosidan aynan bir funksiya yoki o'zgaruvchi kerak bo'lsa uni o'zini ham olsa bo'ladi
4) Nomlar fazosi funksiya ichida elon qilish mumkin emas ammo boshqa nomlar fazosi ichida bo'lishi mumkin
5) Nomlar fazosi ichida funksiya protatipini elon qilish va tanasini boshqa yerda yozish ma'qul variant hisobladi
6) Nomlar fazosi nomsiz bo'lishi ham mumkin, bunda faqat o'zi elon qilingan yerda ishlay veradi.
7) Nomalar fazosini yangi nom bilan atash ham mumkin

M1) hello::my_function()


M2) using namespace std;
M3) using namespace hello::my_function()
M4)
namespace TOP
{
namespace MIDDLE
{
namespace INNER
{
int varable_x;
}
}
}
4.1) TOP:MIDDLE:INNER:varable_x = 5;
5) namespace my_space
{
void hello();
}
5.1)
void my_space::hello()
{
std::cout << "Hello World!"
}
6)
namespace
{
int x;
int y;
}
7)
namespace hello = old_hello;


Xulosa
Bu erda sinf nomlari bilan bog'liq muammolar paydo bo'lishi mumkin. Agar sinflarning nomlari har xil modullarda bir -biriga to'g'ri kelsa, ularni bir butunga birlashtirganda, har doim ham tez hal qilinmaydigan xatolar yuzaga keladi.
Bu erda sizga nom maydonlari yordam berishi mumkin. O'xshashlik bo'yicha, ismlar maydonini kodingizni saqlaydigan kapsulaga solishtirish mumkin. Masalan, agar oldingi bo'limda biz o'z sinfimiz nomini Console (FirstApplication o'rniga) deb o'zgartirsak, unda nizolar bo'lmaydi, chunki standart Console klassi System nomlar maydonida "yashiringan". Ya'ni, nomlar maydonidan foydalanib, siz boshqa ishlab chiquvchilar sinflarini ishlatishning zerikarli holatlaridan qochishingiz mumkin.
Endi ism maydonlarini "tayyorlash" ni o'rganish vaqti keldi.
Ismlar maydoni nomi har qanday haqiqiy identifikator bo'lishi mumkin va bu nomda nuqta ham bo'lishi mumkin.

Foydalanilgan adabiyotlar
1. https://metanit.com/sharp/tutorial/3.25.php - nomlar fazosi haqida
2. https://youtu.be/fd4k8GrH0Yc - static modifikatori. Statik sinflar va sinf a'zolari C# da video roliklar.
3. https://metanit.com/sharp/questions/2.7.php – nomlar fazosi.
Download 271.68 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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