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.