Class Yaratish
Class
– bu Python sizning ob'ektingizni yaratishda foydalanadigan chizmadir. Odatda ishlatiladigan misol - to'p. To'pning quyidagi atributlari bor:
- O'lcham
- Og'irlik
- Rang
To'p harakatlarga ham ega bo'lishi mumkin. Ular biror narsani bajarishi mumkin. Ushbu harakatlarga class
da usullar deyiladi. Usul – bu class
ichidagi oddiy funktsiya.
Odatda to'p usullari quyidagilar bo'ladi:
- Yuqoriga aylantirish
- Sakrash
- O'ynash
Class
yaratish uchun siz Pythonning ichki kalit so'zidan foydalanishingiz kerak: class
, undan so'ng class
nomi va keyin kolon. Class
lar nomini yozish odatiy qoidasi camel-case uslubida bo'ladi: MyClass
. Eng kamida, birinchi harfi katta bo'lishi kerak.
Bo'sh Ball
class
ini yaratish quyidagicha ko'rinadi:
Ushbu class
hech narsani qilmaydi. Dasturlash doiralarida, bu class
ni stub deb atashini eshitishingiz mumkin.
Keling, oldingi 3 ta atributga ega class
yozaylik:
Ushbu class
ni yaratish uchun uchta argument oladi:
- rang
- o'lcham
- og'irlik
Class
ni chaqirganda, siz ushbu class
ning bir misolini yaratasiz. Misol:
Ball
misolini yaratish uchun siz oldinroq aytib o'tilgan 3 ta parametrni berib chaqirishingiz kerak. Bu funktsiyalar bilan bir xil tarzda ishlaydi. Biroq, class
da, usullarga aytiladigan funktsiyalar mavjud. Boshqa farq shundaki, class
ni chaqirish uchun odatda __init__
deb nomlanuvchi maxsus usulga ega bo'lishingiz kerak.
Bu ishga tushiruvchi (initializer) deb ataladi. Siz __init__()
dan yaratilgan ob'ektingizni boshlash uchun foydalanasiz. __init__()
odatda faqat bir marta, class
ning misolini yaratganda chaqiriladi. Ishga tushiruvchi (initializer) bilan birga, konstruktor (constructor
) __new__
ham bor. Siz juda kam hollarda __new__
ni belgilashingiz kerak va faqat Python tomonidan taqdim etilgan standartdan foydalanishingiz mumkin.
Agar siz beach_ball'ni chop etsangiz, Python sizga uning Ball
ob'ekti ekanligini aytadi, lekin boshqa hech narsa ko'rsatmaydi. Siz bu mavzuni keyinchalik bo'limda qanday qilib foydali qilishni o'rganasiz. Shuningdek, siz belgilagan atributlarni ham chop etishingiz mumkin, bu yuqorida keltirilgan kodning oxirgi ikki qatorida ko'rsatilgan.
Agar siz class
ga tip ko'rsatmalarini qo'shmoqchi bo'lsangiz, bu qanday ko'rinishda bo'ladi:
Siz __init__()
ga birinchi argument sifatida self
deb ataladigan narsani berganingizni payqadingiz.
Keling, bu haqida ko'proq bilib olaylik!