Repetition

Classlar bo'yicha barini takrorlash.

SU

Python Classlar to'liq takrorlash.

1. Classni Yaratish

Python'da class yaratish uchun class kalit so'zidan foydalanamiz. Classlar dasturlashda obyektlarni yaratishga imkon beradi.

Misol: Oddiy Class Yaratish

class Dog:
    """It classini yaratish."""
    def __init__(self, name: str, age: int):
        self.name = name
        self.age = age
 
    def bark(self):
        """Itning havlamoq funksiyasi."""
        print(f"{self.name} havlaydi!")

Obyekt yaratish

my_dog = Dog("Buddy", 3)
my_dog.bark()  # Natija: Buddy havlaydi!

2. Initializer (Konstruktor)

Classda yangi obyekt yaratganda, __init__ metodi chaqiriladi. Bu metod, obyektni yaratishda atributlarni belgilash uchun ishlatiladi.

Misol: Initializer Qo'shish

class Cat:
    def __init__(self, name: str, color: str):
        self.name = name
        self.color = color
 
    def meow(self):
        print(f"{self.name} mayiqlaydi!")

Obyekt yaratish

my_cat = Cat("Whiskers", "qora")
my_cat.meow()  # Natija: Whiskers mayiqlaydi!

3. self Kalit So'zi

self - bu obyektning o'ziga xosligini saqlash uchun ishlatiladigan kalit so'z. Bu orqali biz metodlar ichida atributlarga murojaat qilishimiz mumkin.

Misol: self Misoli

class Circle:
    def __init__(self, radius: float):
        self.radius = radius
 
    def area(self):
        """Doiraning yuzasini hisoblash."""
        return 3.14 * (self.radius ** 2)
 
circle = Circle(5)
print(circle.area())  # Natija: 78.5

4. O'zgartirish (Overriding)

Subclass (qoidalar) otasi (parent) metodi bilan bir xil nomga ega bo'lsa, subclassning o'ziga xos metodidan foydalaniladi. Bu o'zgarish "overriding" deb ataladi.

Misol: Overriding

class Vehicle:
    def start(self):
        print("Transport harakatlanmoqda!")
 
class Car(Vehicle):
    def start(self):
        print("Avtomobil ishga tushdi!")
 
car = Car()
car.start()  # Natija: Avtomobil ishga tushdi!

5. Subclasslar (Qoidalar)

Subclass - bu boshqa classdan (ota class) atributlar va metodlarni meros qilib oladigan yangi class. Subclasslar, shuningdek, ota classning metodlarini o'zgartirishi mumkin.

Misol: Subclass Yaratish

class Animal:
    def sound(self):
        print("Hayvon ovoz chiqaradi")
 
class Dog(Animal):
    def sound(self):
        print("It havlaydi")
 
class Cat(Animal):
    def sound(self):
        print("Mushuk mayiqlaydi")
 
animals = [Dog(), Cat()]
for animal in animals:
    animal.sound()
# Natija:
# It havlaydi
# Mushuk mayiqlaydi

6. Polimorfizm

Polimorfizm - bu turli classlar bir xil interfeysga ega bo'lishini ta'minlaydi. Bu orqali siz turli ob'ektlarga bir xil metodlarni qo'llashingiz mumkin.

Misol: Polimorfizm Misoli

def make_sound(animal: Animal):
    animal.sound()
 
make_sound(Dog())  # Natija: It havlaydi
make_sound(Cat())  # Natija: Mushuk mayiqlaydi

7. Maxfiy (Private) va Jamoat (Public) Atributlar

Python'da maxfiy atributlar (o'zgartirishlar) oldidan bitta yoki ikkita pastki chiziq (_ yoki __) qo'shish orqali belgilanishi mumkin. Bu kodni yaxshiroq tushunish va boshqa dasturchilar uchun ko'rsatma beradi.

Misol: Maxfiy Atributlar

class BankAccount:
    def __init__(self, balance: float):
        self.__balance = balance  # Maxfiy atribut
 
    def deposit(self, amount: float):
        self.__balance += amount
 
    def get_balance(self):
        return self.__balance
 
account = BankAccount(1000)
account.deposit(500)
print(account.get_balance())  # Natija: 1500
# print(account.__balance)  # Bu xatoga olib keladi

8. Sehrli Metodlar (Magic Methods)

Python'da ba'zi metodlar __ (ikki pastki chiziq) bilan boshlanadi va tugaydi. Ular "sehrli metodlar" deb ataladi va ob'ektning harakatlarini belgilashda yordam beradi, masalan, __str__() va __repr__() metodlari.

Misol: Sehrli Metodlar

class Ball:
    def __init__(self, color: str):
        self.color = color
 
    def __repr__(self):
        return f"<Ball: {self.color}>"
 
    def __str__(self):
        return f"{self.color} ball"
 
ball = Ball("qizil")
print(ball)  # Natija: qizil ball
print(repr(ball))  # Natija: <Ball: qizil>

9. Dokumentatsiya va Izohlar

Yaxshi hujjat yozish va kodda izohlar berish juda muhimdir. Docstringlar (hujjatli qatorlar) yordamida metodlar va classlar haqida ma'lumot berishingiz mumkin.

Misol: Dokumentatsiya

class Calculator:
    """Calculator class to perform basic arithmetic operations."""
 
    def add(self, a: float, b: float) -> float:
        """Returns the sum of two numbers."""
        return a + b
 
calc = Calculator()
print(calc.add(5, 3))  # Natija: 8

Xulosa

Python'da classlar sizga dasturlashni tashkil qilish va ob'ektlarga asoslangan yondashuvlarni amalga oshirish imkonini beradi. OOP kontseptsiyalarini o'rganish orqali siz kodlaringizni samaraliroq va o'qilishi osonroq qilishingiz mumkin.

Ushbu sahifada

Xato haqida xabar berish