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:
اردو:
توسیعسے والد کلاس کے طریقے وراثت میں ملتے ہیں۔سپر(...)سے والد کاتعمیرچلائیں۔
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تعمیر
اردو:
کلاسسے نقشہ،تعمیرسے بنانا،یہسے خصوصیات،توسیعسے وراثت،سپرسے والد کا تعمیر چلانا۔