پائتھن کورس کا لیکچر 47۔ پائتھن میں کلاسز کی تعریف کرنے اور ان سے آبجیکٹس (انسٹینسز) بنانے کا طریقہ سیکھیں۔
ایک کلاس کی تعریف کرنا
پائتھن میں، آپ class کی ورڈ کا استعمال کرتے ہوئے ایک کلاس کی تعریف کرتے ہیں۔ روایت کے مطابق، کلاس کے نام CamelCase میں لکھے جاتے ہیں (ہر لفظ بڑے حرف سے شروع ہوتا ہے، کوئی انڈرسکور نہیں)۔
class Dog:
"""A simple attempt to model a dog."""
def __init__(self, name, age):
"""Initialize name and age attributes."""
self.name = name
self.age = age
def sit(self):
"""Simulate a dog sitting in response to a command."""
print(f"{self.name} is now sitting.")
def roll_over(self):
"""Simulate a dog rolling over in response to a command."""
print(f"{self.name} rolled over!")آئیے یہاں کیا ہو رہا ہے اس کی تفصیل دیکھتے ہیں:
class Dog:: یہ لائنDogنامی کلاس کی تعریف کرتی ہے۔- ڈاکسٹرنگ: کلاس کی تعریف کے فوراً بعد کی سٹرنگ ایک ڈاکسٹرنگ ہے، جو وضاحت کرتی ہے کہ کلاس کیا کرتی ہے۔
__init__(self, name, age):: یہ ایک خاص میتھڈ ہے جسے کنسٹرکٹر کہتے ہیں۔ یہ خود بخود چلتا ہے جب بھی آپ کلاس سے ایک نیا آبجیکٹ (انسٹینس) بناتے ہیں۔selfپیرامیٹر خود انسٹینس کا حوالہ ہے، اور یہ ہمیشہ پہلا پیرامیٹر ہوتا ہے۔nameاورageوہ پیرامیٹرز ہیں جو ہم کتا بناتے وقت پاس کریں گے۔self.name = name:self.سے شروع ہونے والا کوئی بھی متغیر ایک ایٹریبیوٹ ہے۔ ایٹریبیوٹس وہ متغیرات ہیں جو آبجیکٹ سے تعلق رکھتے ہیں۔ یہاں، ہمnameآرگیومنٹ کی قدر لے رہے ہیں اور اسے بنائے جانے والے مخصوص انسٹینس کےnameایٹریبیوٹ کو تفویض کر رہے ہیں۔sit(self):اورroll_over(self):: یہ میٹھڈز ہیں۔ میتھڈز وہ فنکشنز ہیں جو ایک کلاس سے تعلق رکھتے ہیں اور آبجیکٹ کے ڈیٹا (ایٹریبیوٹس) پر کام کرتے ہیں۔ وہ بھی ہمیشہselfکو اپنا پہلا پیرامیٹر لیتے ہیں۔
ایک آبجیکٹ (انسٹینس) بنانا
ایک کلاس سے ایک آبجیکٹ بنانے کے لیے، آپ کلاس کے نام کو ایسے کال کرتے ہیں جیسے یہ ایک فنکشن ہو۔ یہ کلاس کا ایک انسٹینس بناتا ہے۔
# Create an instance of the Dog class
my_dog = Dog('Willie', 6)
# Access attributes using dot notation
print(f"My dog's name is {my_dog.name}.")
print(f"My dog is {my_dog.age} years old.")
# Call methods using dot notation
my_dog.sit()
my_dog.roll_over()آپ جتنے چاہیں انسٹینسز بنا سکتے ہیں، اور ہر ایک اپنی منفرد خصوصیات کے ساتھ ایک الگ آبجیکٹ ہوگا۔
your_dog = Dog('Lucy', 3)
your_dog.sit()لیکچر کا خلاصہ
ہم خاص __init__ میتھڈ اور یہ کیسے کام کرتا ہے اس میں مزید گہرائی میں جائیں گے۔
لیکچر 46: آبجیکٹ اورینٹڈ پروگرامنگ (OOP) کیا ہے؟

