Python klasslari va ob’ektlari

Oxirgi maqolada biz Python OOP haqida qisman ma’lumotga ega bo’ldik. Bilamizki, python ham ob’ektlar va klasslar tushunchasini qo’llab-quvvatlaydi.

Ob’ekt shunchaki ma’lumotlar (o’zgaruvchilar) va metodlar (funksiyalar) to’plamidir. Xuddi shunday, klass bu ob’ekt uchun qolipdir.

Ob’ektlar haqida ma’lumot olishdan oldin, Python tilidagi klasslar haqida bilib olaylik.

Python klasslari:

Klass ob’ektlar rejasi sifatida qaraladi. Biz klassni uyning eskizi (prototipi) sifatida tasavvur qilishimiz mumkin. Unda pollar, eshiklar, derazalar va boshqalar haqida barcha ma’lumotlar mavjud. Ushbu tavsiflarga asoslanib, biz uy quramiz. Uy – bu ob’ekt.

Xuddi shu tavsifdan ko’plab uylar yasalishi mumkinligi sababli, biz klassdan ko’plab ob’ektlarni yaratishimiz mumkin.

Pythonda class yaratish:

Pythonda klass yaratish uchun class kalit so’zidan foydalanamiz. Masalan,

Keling, bir misolni ko’rib chiqaylik,

Bu yerda Bike– klass nomi
name va gear – mos ravishda standart qiymatlari “” va 0 bo’lgan klass ichidagi o’zgaruvchilar.

Eslatma: Klass ichidagi o’zgaruvchilar atributlar deb ataladi.

Python Ob’ektlari:

Ob’ekt klassning namunasi deb ataladi. Masalan, Bike klass deylik, u holda klassdan bike1, bike2 va hokazo ob’ektlarni yaratishimiz mumkin.

Quyida ob’ekt yaratish sintaksisi ko’rsatilgan:

Keling, bir misolni ko’rib chiqaylik,

Bu yerda bike1 klassning ob’ekti hisoblanadi. Endi biz ushbu ob’ektdan klass atributlariga kirish uchun foydalanishimiz mumkin.

Ob’ektlar yordamida klass atributlariga kirish:

Klassning atributlariga kirish uchun nuqta(.)dan foydalanamiz. Masalan,

Bu yerda biz mos ravishda name va gear atributining qiymatini o’zgartirish va ularga kirish uchun bike1.name va bike1.gear dan foydalandik.

1-misol: Python klassi va ob’ektlari:

Natija:

Yuqoridagi misolda biz ikkita name va gear atributlariga ega bo’lgan Bike nomli klass yaratdik.

Shuningdek, biz Bike klassidan foydalanib bike1 nomli ob’ekt yaratdik.

Nihoyat, biz ob’ektning atributlariga nuqta orqali kirib, ularni o’zgartirdik.

Pythonda klassning bir nechta ob’ektlarini yaratish:

Bundan tashqari, bitta klassdan bir nechta ob’ektlarni yaratishimiz mumkin. Masalan,

Natija:

Yuqoridagi misolda biz Employee klassining employee1 va employee2 nomli ikkita ob’ektini yaratdik.

Pythonda metodlar:

Shuningdek, biz Python klassi ichida funksiya yaratishimiz mumkin. klass ichida yaratilgan Python funksiyasi metod deyiladi.

Keling, bir misolni ko’rib chiqaylik,

Natija:

Yuqoridagi misolda biz Room nomli klass yaratdik:

  • Atributlar: length va breadth
  • Metod: calculate_area()

Bu yerda biz Room sinfidan study_room nomli ob’ektni yaratdik. Keyin ob’ektdan length va breadth atributlariga qiymatlarni belgilash uchun foydalandik.

E’tibor bering, biz ob’ektdan klass ichidagi metodni chaqirish uchun ham foydalanganmiz,

Bu yerda bir nuqta orqali metodni chaqirdik. Nihoyat, metod ichidagi statement bajarildi.

Python Konstruktorlari:

Avvalroq biz klass atributiga standart qiymat bergan edik,

Biroq, biz konstruktorlar yordamida qiymatlarni ishga tushirishimiz ham mumkin. Masalan,

Bu erda __init__() konstruktor funksiyasi bo’lib, u klassning yangi ob’ekti yaratilganda chaqiriladi.

Yuqoridagi konstruktor name atributining qiymatini ishga tushiradi. Biz bike1 obyektining name atributiga murojaat qilish uchun self.name dan foydalandik.

Agar biz klass ichidagi qiymatlarni ishga tushirish uchun konstruktordan foydalansak, klass ob’ektini yaratish jarayonida mos keladigan qiymatni o’tkazishimiz kerak.

Bu erda “Mountain Bike” qiymati __init__() funksiyaning name nomli parametriga o’tkaziladi.

Yuqoriga