Skip to content

لیکچر 47: کلاسز اور آبجیکٹس – پائتھن کورس

Python environment

پائتھن کورس کا لیکچر 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 = nameself. سے شروع ہونے والا کوئی بھی متغیر ایک ایٹریبیوٹ ہے۔ ایٹریبیوٹس وہ متغیرات ہیں جو آبجیکٹ سے تعلق رکھتے ہیں۔ یہاں، ہم 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) کیا ہے؟

Python environment

Leave a Reply

Your email address will not be published. Required fields are marked *