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



Yüklə 233,68 Kb.
səhifə49/96
tarix27.07.2023
ölçüsü233,68 Kb.
#137688
1   ...   45   46   47   48   49   50   51   52   ...   96
1-Mavzu 1-Mavzu Reja Klass a’zolariga ruxsatni boshqarish-fayllar.org

Shu kabi cheklovlar static ma'lumotlarga ham qo'llaniladi. static turili metodlarga faqat o'z sinfida aniqlangan static ma'lumotlarga to'g'ridan-to'g'ri kirish huquqi mavjud. U, xususan, o'z sinfining nusxa o`zgaruvchilarini ham ishlata olmaydi, chunki birorta ob'ektlar tarkibida mavjud emas.


Quyida sinfning static ValDivDenom() metodni qabul qila olmasligiga misol.
class StaticError {
public int Denom =3; // oddiy nusxa o'zgaruvchi
public static int Val = 1024; // static o'zgaruvchi
/* Xato! static metod static bo`lmagan o'zgaruvchini bevosita qabul qilinishi mumkin emas. */
static int ValDivDenom() {
return Val/Denom; // kompilyatsiya qilinmaydi!
}
}
Koddagi Denom oddiy o'zgaruvchi bo`1ganligi sababli, static turili metodda unga ruxsat mavjud emas. Shu bilan birga, bu metod Val o'zgaruvchisidan foydalanishi mumkin, chunki u statik deb e'lon qilingan.
Quyidagi misolda bo'lgani kabi, bir xil sinfning static metodidan satic bo`lmagan metodini chaqirishga urinishda ham shunga o'xshash xato paydo bo'ladi.
using System;
class AnotherStaticError {
// Nonsatik metod.
void NonStaticMeth() {
Console.WriteLine("В методе NonStaticMeth().");
}
/* Xato! static metod static bo`lmagan metodni bevosita chqairishi mumkin emas. */
static void staticMeth() {
NonStaticMeth(); // kompilyatsiya qilinmaydi!
}
}
Bunday holda, static metoddan nostatik metodni (masalan, nusxa metodida) chaqirishga urinish kompilyatsiya paytida xatolikka olib keladi.
Shuni ta'kidlash lozimki, static turili metodlardan nusxa metodlariga va nusxa o'zgaruvchilariga kirish mumkin emas, odatda bu holat sinf ob'ektlari orqali amalga oshiriladi. Buning sababi shundaki, muayyan ob'ektni ko'rsatmasdan, nusxa o`zgaruvchi yoki nusxa metodiga kirish uchun ruxsat yo`q. Misol uchun, quyidagi kod butunlay to'g'ri hisoblanadi.

Yüklə 233,68 Kb.

Dostları ilə paylaş:
1   ...   45   46   47   48   49   50   51   52   ...   96




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin