1-dars. Python’ni o’rnatish



Download 1,13 Mb.
bet34/42
Sana28.06.2022
Hajmi1,13 Mb.
#713356
1   ...   30   31   32   33   34   35   36   37   ...   42
Bog'liq
Python Husniddin

Bu qanday ishlaydi:
Bu yerda population klass o’zgaruvchisi hisoblanadi. name ob’yekt o’zgaruvchisi hisoblanadi.
Klass o’zgaruvchisiga self.population tarzida emas, Robot.population tarzida murojaat qilamiz. name ob’yekt o’zgaruvchisiga esa, self.name tarzida, barcha ob’yektlar ichida murojaat qilishimiz mumkin.
howMany metodi klassga tegishli, klass ob’yektiga emas. Bu shuni anglatadiki, biz uni classmethod yoki staticmethod ko’rinishida aniqlashimiz mumkin.
Bunga dekoratorlardan foydalanib xam erishish mumkin:

Source code



  1. @staticmethod

  2. def howMany():

  3. '''Robotlar sonini chop qiladi.'''

  4. print('Bizda {0:d} ta robot bor.'.format(Robot.population))

__init__ metodida har bir xosil qilingan robot uchun population klass o’zgaruvchisini birga oshiryapmiz. self.name esa har bir ob’yektning o’zigagina tegishlik.
__init__ metodi bilan bir qatorda __del__ metodi ham mavjud bo’lib, bu metod qachonki ob’yekt o’chirilayotganda chaqiriladi va uning xotirada egallagan joyi operasion tizimiga keyingi ishlatishlar uchun qaytariladi. Bu metodda biz Robot.population klass o’zgaruvchisini birga kamaytiramiz.
Meros olish
Ob’yektga yo’naltirilgan dasturlashning ya’na bir katta afzalligi biror kod bo’lagini bir necha marta qayta ishlatish imkoniyatidir. Bu imkoniyatga meros olish mexanizmi bilan erishish mumkin.
Aytaylik, biz kollejdagi o’qituvchilar va talabalar haqidagi ma’lumotlarni o’zida jamlovchi dastur tuzmoqchimiz. Ularning bir nechta umumiy xususiyatlari bor: ismi, yoshi va manzili. Va ya’na aloxida xususiyatlari ham mavjud: o’qituvchilar uchun maosh, dars kurslari, ta’til, talabalar uchun baxo va o’qish uchun to’lov.
O’qituvchilar va talabalar uchun alohida-alohida klass tuzish mumkin, lekin ular uchun umumiy bo’lgan biror xusisiyat qo’shishga to’g’ri keladigan bo’lsa, u holda har bir klass uchun bu xususiyatni qo’shib chiqish kerak bo’ladi.
Eng yaxshisi SchoolMember degan umumiy klass qilish kerakda va shu klassdan o’qituvchilar va talabal klasslari meros olsin. Shunda o’qituvchi va talabalar uchun umumiy bo’lgan xususiyatlarni SchoolMember asos klassga qo’shish mumkin bo’ladi.
Bu usulning bir nechta afzalliklari bor. Agar biz SchoolMember klassida biror metodni yoki xususiyatni o’zgartirsak yoki qo’shsak bu o’zgarishlar avtomatik o’qituvchilar va talabalar klasslarida (SchoolMember ning bola klasslarida) o’z aksini topadi. Misol uchun, biz o’qituvchilar va talabalar hujjatlari uchun yangi xususiyatni SchoolMember asos klassga qo’shishimiz mumkin.
Misol: (inherit.py nomi bilan saqlang)

Source code




  1. Download 1,13 Mb.

    Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   ...   42




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish