|
1-Amaliy ish pythonda sinf va obyektlar
|
Sana | 14.02.2024 | Hajmi | 22,68 Kb. | | #156627 |
Bog'liq 1 amaliy ish python 1-Amaliy ish
Biz allaqachon muhokama qilganimizdek, sinf virtual ob'ekt bo'lib, uni ob'ektning rejasi sifatida ko'rish mumkin. Sinf paydo bo'lganida obyekt paydo bo'ldi. Keling, buni bir misol orqali tushunaylik.
Aytaylik, sinf binoning prototipidir. Bino polga, eshiklarga, derazalarga va hokazolarga oid barcha ma'lumotlarni o'z ichiga oladi, biz ushbu detallarga asoslanib, xohlagancha bino yasay olamiz.
Demak, binoni sinf sifatida ko'rish mumkin va biz shu sinfning shuncha ob'ektini yaratishimiz mumkin.
Boshqa tomondan, ob'ekt sinfning misoli. Ob'ektni yaratish jarayonini instantatsiya deb atash mumkin.
O'quv qo'llanmasining ushbu qismida biz python-da sinflar va ob'ektlarni yaratishni muhokama qilamiz. Atributga sinf ob'ekti yordamida qanday erishish mumkinligi haqida ham gaplashamiz.
Python – obyektga yo’naltirilgan dasturlash tili. Pythonda deyarli barcha narsa obyekt hisoblandi. Ularning o’z xususiyatlari va funksiyalari bor.
Sinflar esa obyekt konstruktorlari hisoblanadi. Ular bilan obyektlar tuziladi.
Sinf hosil qilish uchun class kalit so’zi ishlatiladi. Hozir biz Son degan sinf hosil qilamiz. Shu sinf nomini print so’zi bilan ekranga chiqarish buyrug’ini bersak, shu sinf mavjudligi haqida ma’lumot chiqadi:
class Son:
x = 5
print(Son)
' main .Son'>
Obyekt hosil qilish
Sinflar obyekt konstruktorlari ekanligini aytgan edik. Hozir yuqorida hosil qilgan sinfimiz orqali yangi obyekt hosil qilamiz. Uning nomi s1 bo’ladi.
class Son:
x = 5
s1 = Son() print(s1.x)
5
Yuqoridagi misollarimizdagi sinf va obyektlar bilan shunchaki sodda ko’rinishda tanishib chiqdik. Ammo ular haqiqiy dasturlar tuzishga yaroqsiz. Sinflarning mohiyatini tushunish uchun init () ichki funksiyasini bilishimiz lozim.
Har bir sinf tuzilgan paytda init () funksiyasi mavjud bo’ladi. init () funksiyasi obyektlar tuzilayotgan paytda ularning xususiyatlariga qiymatlarni yoki bajarilishi kerak bo’lgan operatsiyalarni biriktiradi.
Hozir Ishchi degan sinf hosil qilamiz va unda ism va yosh ko’rsatkichlariga qiymatlar o’zlashtirish uchun init () funksiyasidan foydalanamiz.
Keyin init () funksiyasi har safar yangi obyekt tuzilganda avtomatik tarzda ishlaydi.
Eslatib o’tamiz, init () funksiyasini yozayotganda har ikkala tarafdan ham ikkitadan ( ) tag chiziq yoziladi.
class Ishchi:
def init (self, ism, yosh): self.ism = ism
self.yosh = yosh
p1 = Ishchi ("Abbosbek", 20)
print(p1.ism) print(p1.yosh)
Abbosbek 20
|
| |