Sinf va ob’ekt
Ob’ektga yo‘naltirilgan dasturlashning asosi — sinf va ob’ekt tushunchalari. Atributlar, metodlar, konstruktor va inkapsulyatsiya tamoyilini Python misolida va amaliy topshiriqlar bilan o‘rganamiz.
Mavzular ro‘yxati (1 / 2)
Ob’ektga yo‘naltirilgan dasturlash (OOP) dasturni o‘zaro ta’sirlashuvchi ob’ektlar to‘plami sifatida quradi. Ob’ekt holatga (ma’lumotlar — atributlar) va xatti-harakatga (amallar — metodlar) ega bo‘ladi. Masalan, talaba ob’ektining atributlari — ism va kurs, metodi esa — kursni oshirish.
Sinf — bir turdagi ob’ektlarning umumiy tuzilishini tavsiflovchi andoza; ob’ekt esa sinfning aniq nusxasi (instansiyasi). Bitta sinfdan istalgancha ob’ekt yaratish mumkin, ularning har biri o‘z atributlari qiymatiga ega bo‘ladi. Sinf va ob’ekt munosabati tort retsepti va tayyor tortlarga o‘xshaydi: retsept bitta, tortlar esa ko‘p.
Python’da sinf class Student: qatori bilan e’lon qilinadi. Konstruktor def __init__(self, name, year): ob’ekt yaratilganda avtomatik chaqirilib, atributlarni o‘rnatadi: self.name = name. Bu yerda self — metod ishlayotgan joriy ob’ektning o‘ziga havola. Ob’ekt s = Student("Ali", 2) ko‘rinishida yaratiladi, metod nuqta orqali chaqiriladi (s.promote()), atributga ham shunday murojaat qilinadi (s.year).
OOP ning muhim tamoyillaridan biri — inkapsulyatsiya: ob’ektning ichki holati yashiriladi va faqat metodlar orqali o‘zgartiriladi. Masalan, bank hisobining balansiga to‘g‘ridan-to‘g‘ri qiymat berish o‘rniga deposit(amount) metodi chaqiriladi va u summaning musbatligini tekshiradi. Python’da ichki atribut nomi odatda pastki chiziq bilan boshlanadi (_balance): bu “tashqaridan tegmang” degan kelishuvdir.
Asosiy xulosalar
- OOP dasturni o‘zaro ta’sirlashuvchi ob’ektlar to‘plami sifatida quradi.
- Ob’ekt atributlar (holat) va metodlar (xatti-harakat) dan iborat.
- Sinf — andoza, ob’ekt — sinfning aniq nusxasi; bitta sinfdan ko‘p ob’ekt yaratiladi.
- Python’da konstruktor
__init__, joriy ob’ektga havola esaself. - Inkapsulyatsiya ichki holatni himoya qiladi va uni metodlar orqali nazorat qiladi.
Amaliy topshiriqlar
Studentsinfini yozing: atributlarinamevayear, metodlaripromote()(kursni 1 ga oshiradi) vainfo()(talaba haqida matn qaytaradi). Ikkita ob’ekt yarating va metodlarni chaqiring.BankAccountsinfini yarating: balans ichki atribut (_balance) bo‘lsin;deposit(amount)vawithdraw(amount)metodlari summani tekshirsin (manfiy yoki balansdan katta summaga ruxsat bermasin).- O‘zingiz tanlagan sohada (kutubxona, do‘kon yoki o‘yin) ikkita sinf loyihalang: har birining kamida uchta atributi va ikkita metodini sxema shaklida yozing, so‘ng bittasini kodda amalga oshiring.
Mustahkamlash savollari
O‘zingizni sinab ko‘ring: avval o‘ylab ko‘ring, keyin javobni oching.
1Sinf va ob’ekt o‘rtasidagi farq nima?Javobni ko‘rishJavobni yashirish
Sinf — tuzilishni tavsiflovchi andoza, ob’ekt esa shu andoza asosida yaratilgan aniq nusxa.2`self` parametri nimani bildiradi?Javobni ko‘rishJavobni yashirish
Metod chaqirilayotgan joriy ob’ektga havolani.3Inkapsulyatsiya nima uchun kerak?Javobni ko‘rishJavobni yashirish
Ichki ma’lumotlarni noto‘g‘ri o‘zgartirishdan himoya qilish va ularni faqat nazorat ostidagi metodlar orqali boshqarish uchun.
Saytga kiring
Slaydlar va PDF faqat ro‘yxatdan o‘tgan foydalanuvchilar uchun: ko‘rish ham, yuklab olish ham. Kirish bepul.
Saytga kiring
Slaydlar va PDF faqat ro‘yxatdan o‘tgan foydalanuvchilar uchun: ko‘rish ham, yuklab olish ham. Kirish bepul.
0 / 2 mavzu o‘tildi
Kirib belgilash