Uploaded by muhiddinmambetov39

8-mustaqil ta'lim (2)

advertisement
TERMIZ DAVLAT UNIVERSITETI AXBOROT
TEXNALOGIYALARI FAKULTETI
MATEMATIKA VA INFORMATIKA TA’LIM YO’NALISHI
3- KURS 120-GURUH TALABASI RAXMONOV ELDORNING
ALGORITMLASH VA DASTURLASH FANIDAN
TAYYORLAGAN
8-MUSTAQIL ISHI
Mavzu: Statik berilganlardan foydalanish.Statik metodlar bilan
ishlash
Termiz-2023
Mavzu:Statik berilganlardan foydalanish.Statik metodlar bilan
ishlash.
Statik berilganlar va metodlar sinflar tomonidan ishlatiladi, sinf
obyektlari orasida almashmaydigan ma'lumotlarni saqlash uchun,
umumiy hisob-kitoblarni amalga oshirish uchun yoki sinf nomi orqali
chaqiriluvchi amallar uchun foydalaniladi. Statik berilganlarni sinf ichida
yaratish uchun static murojaat modifikatoridan foydalaniladi. Statik
metodlar esa sinfning obyektlari orasida almashmaydigan va faqat sinf
nomi orqali chaqiriladigan metodlardir.
Statik berilganlarni sinf ichida yaratish uchun static murojaat
modifikatoridan foydalaniladi. Misol uchun, MyClass sinfi uchun count
nomli statik berilgan va getCount nomli statik metodni quyidagicha
aniqlaymiz:
#include <iostream>
using namespace std;
class MyClass {
private:
static int count; // Statik berilgan
public:
static int getCount() {
return count;
}
};
int MyClass::count = 0; // Statik berilgan boshlang'ich qiymati
int main() {
MyClass::count = 10; // Statik berilgan qiymatini o'zgartirish
int currentCount = MyClass::getCount(); // Statik metoddan qiymatni
olish
cout << "Count: " << currentCount << endl;
return 0;
}
Yuqoridagi kod misolida MyClass sinfida count nomli statik berilgan va
getCount nomli statik metod yaratilgan.
count berilgani sinf ichida static murojaat modifikatori bilan
belgilangan. Statik berilganlar sinfning o'ziga tegishli bo'lganligi uchun
ular sinf ichida alohida harakatlanadi va har bir sinf obyekti o'zgarishi
bilan ta'sir etmaydi.
getCount metodi esa sinf nomi orqali chaqiriladigan va sinfning
obyektlari orasida almashmaydigan statik metod.
main funksiyasida MyClass sinfning count berilgani o'zgartiriladi va
getCount metodidan qiymat olinadi va chiqariladi.
Statik berilganlar sinfning o'ziga tegishli bo'lgani uchun sinf nomi orqali
chaqirish mumkin. Misol uchun, MyClass::count yoki
MyClass::getCount().
Statik metodlar esa sinf nomi orqali chaqiriladi, sinf obyektlari orqali
emas. Misol uchun, MyClass::getCount().
Quyidagi misolda MathUtility sinfi uchun PI nomli statik berilgan va
calculateCircleArea nomli statik metodni yaratamiz:
#include <iostream>
using namespace std;
class MathUtility {
public:
static const double PI; // Statik berilgan
static double calculateCircleArea(double radius) {
return PI * radius * radius;
}
};
const double MathUtility::PI = 3.14159; // Statik berilgan boshlang'ich
qiymati
int main() {
double radius = 2.5;
double area = MathUtility::calculateCircleArea(radius); // Statik
metoddan qiymatni olish
cout << "Circle Area: " << area << endl;
return 0;
}
Yuqoridagi kod misolida MathUtility sinfi uchun PI nomli statik
berilgan va calculateCircleArea nomli statik metod yaratilgan.
PI berilgani sinf ichida static const murojaat modifikatorlari bilan
belgilangan. Bu berilgan sinfning o'ziga tegishli bo'lganligi va o'zgarmas
qiymatga ega bo'lgani uchun const ham belgilangan.
calculateCircleArea metodi esa sinf nomi orqali chaqiriladigan va
sinfning obyektlari orasida almashmaydigan statik metod. U radius
parametri qabul qilib, aylananing yuzini hisoblayib qaytaradi.
main funksiyasida MathUtility::calculateCircleArea metodi yordamida
aylana yuzini hisoblash ko'rinishi ko'rsatilgan. Statik metod sinf nomi
orqali chaqirilgan.
Statik berilganlarni va metodlarni sinf nomi orqali chaqirish uchun
MathUtility::PI yoki MathUtility::calculateCircleArea() sintaksisi
ishlatiladi.
Statik berilganlar va metodlar sinflar tomonidan keng qo'llaniladi,
sinfning obyektlari orqida almashmaydigan ma'lumotlarni saqlash uchun
va sinf nomi orqali chaqiriladigan amallar uchun foydalaniladi.
Download