Skip to content

6. Classes — کلاسز

Difficulty: Intermediate — متوسط
Time: ~30 minutes


What Is a Class? — کلاس کیا ہے؟

A class is a blueprint for creating objects. It defines what data (properties) and behavior (methods) an object has.

اردو: کلاس ایک نقشہ ہے جس سے اشیاء بنائی جاتی ہیں۔ کلاس میں خصوصیات (ڈیٹا) اور طریقے (فنکشن) ہوتے ہیں۔


Defining a Class — کلاس بنانا

کلاس کار {
    تعمیر(ماڈل, سال, رنگ) {
        یہ.ماڈل = ماڈل;
        یہ.سال = سال;
        یہ.رنگ = رنگ;
        یہ.رفتار = 0;
    }

    تیز_کرو(مقدار) {
        یہ.رفتار += مقدار;
    }

    بریک_لگاؤ() {
        یہ.رفتار = 0;
    }

    معلومات() {
        واپس `${یہ.سال} ${یہ.ماڈل} (${یہ.رنگ}) — ${یہ.رفتار} km/h`;
    }
}
  • تعمیر — constructor: called when creating a new object with نیا
  • یہ — refers to the current object instance
  • Methods are functions inside the class

اردو: تعمیر خاص طریقہ ہے جو نیا کلاس() پر چلتا ہے۔ یہ موجودہ شے کو ظاہر کرتا ہے۔


Creating Instances — نمونے بنانا

متغیر گاڑی = نیا کار("کورولا", 2023, "سفید");
لکھو(گاڑی.معلومات());    // 2023 کورولا (سفید) — 0 km/h

گاڑی.تیز_کرو(60);
لکھو(گاڑی.معلومات());    // 2023 کورولا (سفید) — 60 km/h

گاڑی.بریک_لگاؤ();
لکھو(گاڑی.رفتار);         // 0

اردو: نیا کلاس(دلائل) سے نمونہ بنائیں۔ ہر نمونے کی اپنی الگ خصوصیات ہوتی ہیں۔


Multiple Instances — کئی نمونے

متغیر گاڑی1 = نیا کار("کورولا", 2023, "سفید");
متغیر گاڑی2 = نیا کار("سیوک", 2022, "سرخ");

گاڑی1.تیز_کرو(80);
گاڑی2.تیز_کرو(50);

لکھو(گاڑی1.معلومات());    // different speeds
لکھو(گاڑی2.معلومات());

Inheritance — وراثت

A class can extend another class to inherit its properties and methods:

کلاس شخص {
    تعمیر(نام, عمر) {
        یہ.نام = نام;
        یہ.عمر = عمر;
    }

    سلام() {
        لکھو(`السلام علیکم، میں ${یہ.نام} ہوں`);
    }
}

کلاس طالب_علم توسیع شخص {
    تعمیر(نام, عمر, جماعت) {
        سپر(نام, عمر);       // call parent constructor
        یہ.جماعت = جماعت;
    }

    تعارف() {
        لکھو(`${یہ.نام}، عمر ${یہ.عمر}، جماعت ${یہ.جماعت}`);
    }
}

متغیر ط = نیا طالب_علم("احمد", 16, "دہم");
ط.سلام();      // inherited from شخص
ط.تعارف();    // own method

Output:

السلام علیکم، میں احمد ہوں
احمد، عمر 16، جماعت دہم

اردو: توسیع سے والد کلاس کے طریقے وراثت میں ملتے ہیں۔ سپر(...) سے والد کا تعمیر چلائیں۔


Method Overriding — طریقہ دوبارہ لکھنا

A child class can override a parent method:

کلاس جانور {
    تعمیر(نام) {
        یہ.نام = نام;
    }
    بولو() {
        لکھو(`${یہ.نام} کوئی آواز نکالتا ہے`);
    }
}

کلاس بلی توسیع جانور {
    بولو() {
        لکھو(`${یہ.نام} کہتا ہے: میاؤں`);
    }
}

کلاس کتا توسیع جانور {
    بولو() {
        لکھو(`${یہ.نام} کہتا ہے: بھونک`);
    }
}

متغیر جانور1 = نیا بلی("بلو");
متغیر جانور2 = نیا کتا("ٹومی");
جانور1.بولو();    // بلو کہتا ہے: میاؤں
جانور2.بولو();    // ٹومی کہتا ہے: بھونک

Key Points — اہم نکات

  • کلاس نام { ... } — define a class
  • تعمیر(...) — constructor, runs on نیا کلاس(...)
  • یہ.خصوصیت — access/set instance property
  • نیا کلاس(args) — create an instance
  • کلاس بچہ توسیع والد — inheritance
  • سپر(args) — call parent constructor inside child تعمیر

اردو: کلاس سے نقشہ، تعمیر سے بنانا، یہ سے خصوصیات، توسیع سے وراثت، سپر سے والد کا تعمیر چلانا۔


← Previous: String Methods | Next: Inheritance →