Python
2-mavzu: Funksiya va Classlar o'rtasidagi aloqalar
Python’da funksiyalar oddiy serialization (mustaqil blok) bo‘lsa-da, Classlar bilan ular birga kengaytirilgan ob’ektlar dunyosini yaratadi. Funksiya objectga kirish adresini beruvchi vosita bo‘lib, ob’ektlar ustida amal bajarishda yordam beradi. Class esa ma’lumotlarni saqlovchi va ularda bajariladigan amallarni “qizil” qilib belgilovchi tuzilma: xususiyatlar (attributes) va metodlar (methods). Shunda funksiyalar ko‘pincha Class metodlarining ichida yoki tashqi yordamchi sifatida ishlaydi. Quyida ular qanday birga ishlashini misol ko‘rsataman.
# Funksiya yordamida ob'ektlar ustida oddiy ish
def describe_area(width, height):
return width * height
# Classlar — obyektlar orasida aloqani tashkil etadi
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
rect = Rectangle(5, 7)
area_via_method = rect.area()
area_via_function = describe_area(rect.width, rect.height)
print(area_via_method) # 35
print(area_via_function) # 35
35
35
Yuqoridagi misolshuniqli: funksiya rectangle o‘lchamlarini qabul qilib, umumiy hisoblashni bajaradi; Class esa o‘zining area() metodi orqali hisoblashni kapsulyatsiya qiladi. Bu ikki yo‘l ham natijani beradi, lekin Classlar ob’ektlar bilan ko‘proq moslashadi va kelajakdagi kengayishga tayyor bo‘ladi. Sahnada siz o‘z modelingizga xos metodlarni qanday yozardingiz?
14 ·