Statik va statik bo'lmagan usul
Usul - bu muayyan vazifani bajarish uchun amalga oshiriladigan bir qator bayonotlar. Usullar kirishni qabul qilishi va natijalarni berishi mumkin. Statik va statik bo'lmagan usullar ob'ektga yo'n altirilgan dasturlash tillarida mavjud bo'lgan ikki turdagi usullardir. Statik usul - bu sinf bilan bog'langan usul. Ob'ekt bilan bog'langan usul statik bo'lmagan (nasol) usul deb ataladi. Ob'ektga yo'n altirilgan tillarda usullar ob'ektlarda saqlangan ma'lumotlar bilan ishlash mexanizmi sifatida ishlatiladi.
Statik usul nima?
Obyektga yoʻn altirilgan dasturlashda statik usul sinf bilan bogʻlangan usuldir. Shuning uchun statik usullar sinfning ma'lum bir misolida ishlash qobiliyatiga ega emas. Statik usullarni statik usulni o'z ichiga olgan sinf ob'ektidan foydalanmasdan chaqirish mumkin. Quyida Java-da statik usulni aniqlash misoli keltirilgan. Java'da statik usulni belgilashda statikdan foydalanish kerak.
public class MyClass { public static void MyStaticMethod() { // statik usul kodi }
}
Yuqorida ta'riflangan statik usulni u tegishli sinf nomidan foydalanib shunday chaqirish mumkin.
MyClass. MyStaticMethod();
E'tibor berish kerak bo'lgan muhim narsa shundaki, statik usullar faqat statik a'zolarga kirishi mumkin.
Statik boʻlmagan usul nima?
Statik boʻlmagan usul yoki misol usuli sinfdagi obyekt bilan bogʻlangan usuldir. Shuning uchun, statik bo'lmagan usullar, usul aniqlangan sinf ob'ekti yordamida chaqiriladi. Statik bo'lmagan usul statik bo'lmagan a'zolarga ham, sinfning statik a'zolariga ham kirishi mumkin. Ko'pgina ob'ektga yo'n altirilgan tillarda (masalan, C++, C, Java) statik bo'lmagan usul chaqirilganda, usulni chaqirgan ob'ekt yashirin argument sifatida uzatiladi (u "bu" havola deb ataladi). Shunday qilib, usul ichida ushbu kalit so'z usulni chaqirgan ob'ektga murojaat qilish uchun ishlatilishi mumkin. Quyida Java-da misol usulini aniqlashga misol keltirilgan.
ommaviy sinf MyClass { public void MyInstanceMethod() { // misol usuli kodi }
}
Yuqorida ta'riflangan misol usulini u tegishli sinf ob'ekti yordamida quyidagicha chaqirish mumkin.
MyClass objMyClass=new MyClass();
objMyClass. MyInstanceMethod ();
Statik va statik boʻlmagan usul oʻrtasidagi farq nima?
Statik usullar sinf bilan bog'langan usullardir, statik bo'lmagan usullar esa sinf ob'ektlari bilan bog'langan usullardir. Statik bo'lmagan usulni chaqirish uchun avval sinfni yaratish kerak, ammo statik usullarda bunday talab yo'q. Ular statik usulga ega bo'lgan sinf nomidan foydalanib oddiygina chaqirilishi mumkin. Yana bir muhim farq shundaki, statik bo'lmagan usul odatda usulni chaqirgan ob'ektga havolaga ega va unga usul ichidagi this kalit so'zi yordamida kirish mumkin. Lekin bu kalit soʻzni statik usullarda ishlatib boʻlmaydi, chunki ular maʼlum bir obyekt bilan bogʻlanmagan.