|
Kompyuter ilmlari va dasturlash texnologiyalari
|
səhifə | 2/6 | tarix | 25.12.2023 | ölçüsü | 90,48 Kb. | | #161466 |
| Ahmad phyton 2 MI (1)Vorislik va polimorfizm.
Vorislik (inheritance) va polimorfizm, ob'ektga yo'naltirilgan dasturlash (OOP) prinsiplaridan ikkisi hisoblanadi.
Vorislik (Inheritance):
Vorislik, bir sinfning boshqa sinfdan xususiyatlarini va metodlarini olish imkoniyatini beradi. Bu, kodni qayta ishlashni engelleadi va kengaytirishga imkon beradi. Misol uchun, quyidagi kodda "Fruit" (meva) sinfi yaratilgan va "Apple" (olma) sinfi "Fruit" sinfiga vorislik qiladi:
# Vorislik misoli
class Fruit:
def __init__(self, rang, turi):
self.rang = rang
self.turi = turi
def chiqar(self):
print(f"{self.rang} rangli {self.turi}")
class Apple(Fruit):
def __init__(self, rang, turi, narh):
# Bazoviy sinfning __init__ metodini chaqirish
super().__init__(rang, turi)
self.narh = narh
def chiqar(self):
# Bazoviy sinfning chiqar metodini o'zgartirish
print(f"{self.rang} rangli {self.turi}, narhi: {self.narh} so'm")
# Ob'ekt yaratish
olma = Apple("yashil", "olma", 5000)
# Metodni chaqirish
olma.chiqar()
Bu misolda, "Fruit" sinfi boshqa sinflarga vorislik qiladi. "Apple" sinfi esa "Fruit" sinfiga voris bo'lishi sababli "Fruit" sinfiga tegishli barcha xususiyatlarini olib boradi. "Apple" sinfi esa "Fruit" sinfining chiqar metodini o'zgartirib yozadi.
Polimorfizm:
Polimorfizm, bir xil funksiyani bir nechta turli ob'ektlar yaratib, ularni shakllantirib, qo'llash imkoniyatini anglatadi. Misol uchun:
# Polimorfizm misoli
def chiqar_ma'lumot(ob):
ob.chiqar()
# Ob'ekt yaratish
meva = Fruit("sariq", "banan")
olma = Apple("yashil", "olma", 5000)
# Polimorfizmni amalga oshirish
chiqar_ma'lumot(meva)
chiqar_ma'lumot(olma)
Bu misolda, chiqar_ma'lumot funksiyasi qabul qilgan ob'ektning chiqar metodini chaqiradi. Bu funksiya orqali "Fruit" va "Apple" ob'ektlarini uzatish orqali, ularga xos chiqarishni ko'rsatamiz.
Vorislik va polimorfizm bilan ishlash, kodni modulyar va tuzilma bo'lishga yordam beradi, shuningdek birinchi sinflarni qayta ishlash va tuzilmani o'zgartirishni osonlashtiradi.
Dostları ilə paylaş: |
|
|