|
Natija:
Mening ismim Orzumurod
|
bet | 4/9 | Sana | 01.12.2023 | Hajmi | 398 Kb. | | #109342 |
Bog'liq Mustaqil ishlarNatija:
Mening ismim Orzumurod
Obyekt xususiyatini o’zgartirish
Biror obyektning xususiyatlarini osongina o’zgartirishimiz mumkin.
Masalan, dastlab tuzgan obyektimiz 31 yosh bo’lsa, so’ng uni 33 yoshga o’zgartiramiz:
class Ishchi:
def __init__(abc, ism, yosh):
abc.ism = ism
abc.yosh = yosh
p1 = Ishchi ("Orzumurod", 31)
p1.yosh = 33
print(p1.yosh)
Natija: 33
Obyekt xususiyatini o’chirish
Obyekt xususiyatlarini o’chirish ham mumkin. Hozir obyektimizdagi yosh xususiyatini o’chiramiz. So’ng uni ekranga chiqarish buyrug’ini beramiz. Dastur ishga tushgach xatolik haqida xabar beriladi.
class Ishchi:
def __init__(abc, ism, yosh):
abc.ism = ism
abc.yosh = yosh
p1 = Ishchi ("Orzumurod", 31)
del p1.yosh
print(p1.yosh)
Natija:
AttributeError: 'Ishchi' object has no attribute 'yosh'
Obyektni o’chirish
Obyektni o’chirish uchun del kalit so’zini obyekt nomi bilan qo’llaymiz. Natijada obyekt butkul o’chib ketadi. Quyidagi kodimizda ham xatolik haqida xabar beriladi. Sababi, biz o’chib ketgan obyektni ekranga chiqarmoqchi bo’lyabmiz:
class Ishchi:
def __init__(abc, ism, yosh):
abc.ism = ism
abc.yosh = yosh
p1 = Ishchi ("Orzumurod", 31)
del p1
print(p1)
Natija:
NameError: name 'p1' is not defined
Sinflarda konstruktor tushunchasi
Konstruktor - bu sinfning instansiya a'zolarini initsializatsiya qilish uchun ishlatiladigan maxsus metod (funktsiya) turi.
Konstruktorlar ikki xil bo'lishi mumkin:
Parametrlangan konstruktor
Parametrlanmagan konstruktor
Ushbu sinf ob'ektini yaratganimizda konstruktor ta'rifi bajariladi. Shuningdek, konstruktorlar ob'ekt uchun biron bir ishga tushirish vazifasini bajarish uchun yetarli resurslar mavjudligini tasdiqlaydilar.
|
| |