1. Python tili imkoniyatlari Pythonni ko`chirish



Yüklə 2,19 Mb.
səhifə60/78
tarix19.12.2023
ölçüsü2,19 Mb.
#152124
1   ...   56   57   58   59   60   61   62   63   ...   78
1. Python tili imkoniyatlari Pythonni ko`chirish

Polimorfizm


Polimorfizm – bu aynan bitta metodning turli klasslarda turlicha amal qilishidir.Masalan, biz ikkita sonni bir-biriga qo`shishimiz va ikkita satrni bir-biriga ulashimiz mumkin.Bu holda biz ikkita bir-biridan farqli natijaga erishamiz, chunki, sonlar va satrlar bir-biridan farqli klasslardir.

>>> 1 + 1
2
>>> "1" + "1"
'11'

30-bob

Operatorlarni yuklash


Operatorlarni yuklash – bu polimorfizmni amalga oshirish usullaridan biri bo`lib, unda biz o`zimizning birorta klassimizda biror-bir metodni amalga oshirishimiz mumkin bo`ladi.

class A:
def go(self):
print('Go, A!')
class B(A):
def go(self, name):
print('Go, {} !'.format(name))

Masalan, bizda 2 ta klass bor bo`lsin.


Bu misolimizda B klass A klassning meros klassi bo`lib, lekin go metodini qayta tavsiflamoqda. Shuning uchun ham u A klassining ayni shu metodiga unchalik ham o`xshamaydi.
Lekin Pythonda shunday metodlar borki, ular odatda, to`g`ridan-to`g`ri chaqirilmasdan, tarkibiy funksiyalar yoki operatorlar yordamida chaqiriladi.
Masalan, __init__ metodi klass konstruktorini yuklaydi. Konstruktor – klass ekzamplyarini yaratadi.

>>> class A:
... def __init__(self, name):
... self.name = name
...
>>> a = A('Vali')
>>> print(a.name)
Vali

Endi esa, quyida mana shunday kuchli metodlar va ularning vazifalari haqida so`z boradi.


__new__(cls[, ...]) – ekzemplyar yaratishni boshqaradi. Majburiy arzument sifatida klassni qabul qiladi(ekzemplyar bilan adashtirmang). Klass ekzemplyarini uni keyinvchalik __init__ metodiga uzatish maqsadida qaytaradi.
__init__(self[, ...]) – yuqorida aytib o`tilganidek – konstruktor.
__del__(self) – chizindilar tozalovchisi tomonidan ob`yektni o`chirilganda ishga tushiriladi.

Yüklə 2,19 Mb.

Dostları ilə paylaş:
1   ...   56   57   58   59   60   61   62   63   ...   78




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə