Funksiyalar bilan ishlash
Funksiyalar
biz uchun nega kerak? - Class biz uchun tip, funksiyalarni e`lon qilish
maydoni, biror obyektni qayta ishlash uchun kerakligini bildik. Endi funksiya
haqida, nima uchun foydalanishimiz kerakligi haqida bilib olamiz. Sizchi nima
deb o`ylaysiz?
Demak,
class ning vazifalari ichida mantiqiy yoki arifmetik amallar yo`q. Biz biror
missiyani bajarishni xohlasak uning algoritmini qanday kiritamiz? Albatta
funksiyaga. Funksiyalar ko`p bo`lishi mumkin ular bir classda yoki bir nechta
class da bo`lishi ham mumkin. Eslab
o`tamiz tashqaridan ko`rishimiz uchun bu funksiya albatta public bo`lishi
lozim. Demak funksiyada dasturning mantig`i yoziladi, bu mantiq
funksiyalarga, classlarga ma`nosi bo`yicha ajratib, tartiblab yoziladi. Kerak
bo`lgan yerda shu qismni e`lon qilinadi, kerak bo`lgan yerda murojaat
qilinaveradi. Bir nechta kichik dastur
tuzmoqchi bo`lsangiz yoki bir nechta masalani ishlamoqchi bo`lsangiz har biriga
alohida proyekt yaratib o`tirishni keragi yo`q, har bir masalani bittadan
funksiyada bajarib, shu funksiyalarni asosiy funksiyadan chaqirib qo`yish
kifoya. Son-sanoqsiz funksiyalar, classlar bo`lishi mumkin, ammo ular siz
qachon murojaat qilsangizgina faoliyatni boshlaydilar. Bundan anglashiladiki,
yozayotgan kodimi kattalashib ketmasligi uchun classlarga, funksiyalarga bo`lib
tashlasak xotirani tejaymiz, murojaat qilsakgina ishlar ekanlar. Funksiyaga
murojaat ham faqat funksiya ichidan bo`ladi, e`lon qilish esa faqat class
ichida. Demak class da e`lon qilyapmiz, funksiyadan boshqa funksiyani
chaqirayapmiz. Funksiyaga murojaat qilganda funksiya nomidan so`ng
"(" belgisini qo`yamiz(qavsni
yopmay turamiz) va bizga kiritishimiz shart bo`lgan kerakli parametrlar
ko`rinadi. Demak ko`rindiki funksiyalardan foydalanish, e`lon qilish uchun
maxsus bilim shart emas, tiplarni bilsak bo`ldi ekan. Tiplarni esa OOP ni
o`rganishdan oldin misol yechish jarayonida yodlab, tushunib olamiz. Xulosa shuki biz uchun o`ylagan
algoritmimizni funksiyani e`lon qilib uning ichida(tanasida) yozamiz.
No comments:
Post a Comment