11.1. Sinf va obyekt

Pythonda obyektga yo’naltirilgan dasturlash tamoyilini ham ishlatish mumkin bo’lib, bu o’z navbatida dastur kompanentlarini sinflar ko’rinishida ifodalash imkonini beradi.

Sinf obyektning shabloni yoki formal tavsifi hisoblanadi. Obyekt esa ushbu sinfning haqiqiy shaklangan nusxasi (экземпляри) hisoblanadi.

Kod nuqtai nazaridan sinf – funksiyalar va o’zgaruvchilar to’plamini ma’lum bir vazifalarni bajarish uchun o’zida birlashtiradi. Sinfning funksiyalari odatda metodlar deb ataladi. Ular sinfning xususiyatlarini ifodalaydi. Sinfning o’zgaruvchilari esa atributlar deb nomlanadi – ular singning holatini saqlaydi.

Sinf class kalit so’zi bilan aniqlanadi:

class sinf_nomi:
     sinf_metodlari

Sinf obyektini yaratish uchun obyekt_nomi = sinf_nomi([parametrlar]) sintaksis ishlatiladi:

Masalan, insonni ta’riflaydigan Person sinfini aniqlaymiz:

class Person:
     name = "Abror" 
     def display_info(self): 
        print("Salom, mening ismim", self.name) 
person1 = Person() 
person1.display_info()  # Salom, mening ismim Abror 
person2 = Person() 
person2.name = "Jaloliddin" 
person2.display_info()  # Salom, mening ismim Jaloliddin 

Person sinfida insonning ismini saqlovchi name atributi va inson haqida ma’lumot chiqaradigan display_info metodlari aniqlangan.

Ixtiyoriy sinfning metodi aniqlayotganda hamma metodlarning birinchi parametri sifatida obyektning o’ziga ko’rsatgich bo’lgan self (bir qator dasturlash tillarida parametrning anologi sifatida this kalit so’zi ishlatiladi) parametri bo’lishini hisobga olish kerak. Ushbu ko’rsatgich yordamida sinfning atriburlariga va metodlariga murojaat qilishimiz mumkin. Xususiy holda, self.name ifodasi orqali foydalanuvchi ismini olish mumkin.

Person sinfini aniqlagandan so’ng, person1 va person2 uning ikkita obyetkini yaratamiz. Obyekt nomlaridan foydalanish orqali uning metodlariga va atributlariga murojaat qilishimiz mumkin. Ushbu holda, qora oynaga sartni chiqaruvchi display_info() metodini har bir obyektdan chaqiramiz va ikkinchi obyektning name atributini o’zgartiramiz. display_info metodiga murojaatda self parametiriga hech qanday qiymat berish shart emas.

Last updated