Tabriklaymiz! Siz "Obyektga Yo'naltirilgan Dasturlash (OOP)" kursini muvaffaqiyatli yakunladingiz.
O'rganilgan mavzular xaritasi:
Loading diagram...
Kurs davomida o'rgandingiz:
Klass va Obyekt — asoslar:
class kalit so'zi bilan klass e'lon qilish__init__(self, ...) — konstruktor, obyekt yaratilganda chaqiriladiself — joriy obyektga havolaself.x) va klass atributlariInkapsulyatsiya (Encapsulation):
__atribut — private atribut, tashqaridan bevosita kirish mumkin emas@property dekorator — getter/setter ni Pythonic usulda yozishMeros (Inheritance):
class Farzand(Ota) — meros sintaksisisuper().__init__(...) — ota klassning konstruktorini chaqirishPolimorfizm (Polymorphism):
ABC, @abstractmethod) — farzandlar uchun majburiy shartnomaMaxsus metodlar (Dunder methods):
__str__ — print(obj) chaqirilganda__len__ — len(obj) chaqirilganda__add__ — obj1 + obj2 chaqirilganda__eq__ — obj1 == obj2 chaqirilganda__mul__ — obj1 * n chaqirilganda__repr__ — obyektning texnik tasviriAsosiy sintaksis xulosa:
# Klass yaratish
class Mashina:
marka_soni = 0 # klass atributi
def __init__(self, marka):
self.__marka = marka # private atribut
Mashina.marka_soni += 1
@property
def marka(self): # getter
return self.__marka
def __str__(self):
return f"Mashina: {self.__marka}"
# Meros
class ElektroMashina(Mashina):
def __init__(self, marka, batareya):
super().__init__(marka) # ota konstruktor
self.batareya = batareya
def __str__(self): # qayta yozish
return f"Elektro: {self.marka}, {self.batareya}kWh"
# Abstrakt klass va polimorfizm
from abc import ABC, abstractmethod
class Hayvon(ABC):
@abstractmethod
def tovush(self):
pass
class It(Hayvon):
def tovush(self):
return "Vov!"
# Operator overloading
class Vektor:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, b):
return Vektor(self.x + b.x, self.y + b.y)
def __str__(self):
return f"Vektor({self.x}, {self.y})"Keyingi qadamlar:
1. Dizayn patternlarini o'rganing:
2. Frameworklarda OOP ni ko'ring:
Blueprint, Resource klasslari3. Python standart kutubxonasini o'rganing:
pathlib.Path — fayl tizimi bilan OOP usulida ishlashcollections.Counter, defaultdict — tayyor klasslardataclasses moduli — @dataclass dekorator bilan oson klass yozishenum.Enum — sanab o'tish turlari4. Real loyihalar quring:
BankHisobi, Karta, Bankomat klasslari)Kitob, Muallif, Kutubxona)Oyinchi, Dunyo, Dushman)Siz endi Python dasturlashning eng kuchli asbobi — OOP ni egallading. Klass, meros, inkapsulyatsiya, polimorfizm va dunder metodlar — bular bilan siz professional darajada dastur yoza olasiz.
Omad tilaymiz! Kod yozishni davom eting!