Python ko’p qirrali dasturlash tili bo’lib, u turli xil dasturlash uslublarini, jumladan, ob’ektlar va klasslardan foydalanish orqali ob’ektga yo’naltirilgan dasturlashni (OOP) qo’llab-quvvatlaydi.
Ob’ekt atributlari va xatti–harakatlariga ega bo’lgan har qanday ob’ektdir. Misol uchun, it – bu ob’ekt. Unda quyidagi atributlar va xatti-harakatlar bor:
- Atributlar – ism, yosh, rang va boshqalar.
- Xatti-harakatlar – o’tirish, yotish va boshqalar.
Xuddi shunday, sinf bu ob’ekt uchun qolipdir.
Python klass va obyekt:
class Dog:
# klass atributi
name = ""
age = 0
# dog1 obyektini yaratish
dog1 = Dog()
dog1.name = "Belka"
dog1.age = 10
# dog2 obyektini yaratish
dog2 = Dog()
dog2.name = "Strelka"
dog2.age = 15
# atributlarga murojaat qilish
print(f"{dog1.name} is {dog1.age} years old")
print(f"{dog2.name} is {dog2.age} years old")
Natija:
Belka is 10 years old
Strelka is 15 years old
Yuqoridagi misolda biz Dog nomi bilan ikkita name va age atributlarga ega klass yaratdik.
Keyin, biz Dog klassining namunalarini yaratamiz. Bu yerda dog1 va dog2 bizning yangi ob’ektlarimizdir.
Endi biz obyektning xususiyatlariga obyekt nomi, nuqta (.) va atribut nomi orqali murojat qilishimiz va uning qiymatini o’zgartirishimiz mumkin.
Klasslar va ob’ektlar haqida ko’proq ma’lumot olish uchun Python klasslari va ob’ektlariga tashrif buyuring.
Python Inheritance (Vorislik):
Vorislik – bu mavjud klass xususiyatlarini o’zgartirmasdan foydalanish uchun yangi klass yaratish usuli.
Yangi tashkil etilgan klass hosila klass (yoki bola klass) deb ataladi. Avval mavjud bo’lgan klass esa asosiy klass (yoki ota klass) deb ataladi.
Pythonda vorislik tamoyilidan foydalanish:
# ota klass
class Animal:
def eat(self):
print( "I can eat!")
def sleep(self):
print("I can sleep!")
# bola class
class Dog(Animal):
def bark(self):
print("I can bark! Woof woof!!")
# Dog nomli bola klassdan ob'ekt yaratish
dog1 = Dog()
# ota klassning metodlariga murojaat qilish
dog1.eat()
dog1.sleep()
# bola klassning metodlariga murojaat qilish
dog1.bark();
Natija:
I can eat!
I can sleep!
I can bark! Woof woof!!
Yuqoridagi misolda dog1 (dog klassining ob’ekti) Animal ota klass metodlariga va atributlariga kirishi mumkin. Buning sababi, Dog klassi Animal klassidan meros olgan.
# Animal klassining metodlarini chaqirish
dog1.eat()
dog1.sleep()
Python inheritance (Vorislik) haqida ko’proq ma’lumot olish uchun Python Inheritance (Vorislik)ga tashrif buyuring.