JavaScript OOP: ایک مکمل گائیڈ
چھوٹے پروجیکٹس کے لیے کوڈ لکھنا آسان ہے۔ بڑے ایپس کے لیے کوڈ کو مینیج کرنا مشکل ہے۔
میں نے یہ بات ایک Quiz App اور Mobile Banking UI بناتے وقت سیکھی۔ شروع میں سادہ فنکشنز اور آبجیکٹس نے کام کیا، لیکن جیسے جیسے میں نے فیچرز کا اضافہ کیا، کوڈ الجھتا چلا گیا۔ اسے دوبارہ استعمال کرنا مشکل ہو گیا اور اسے ٹھیک کرنا اس سے بھی زیادہ مشکل تھا۔
تب Object-Oriented Programming (OOP) نے سب کچھ بدل دیا۔
OOP کوڈ کو صرف فنکشنز کے بجائے آبجیکٹس کے گرد ترتیب دیتا ہے۔ ایک آبجیکٹ ڈیٹا (properties) اور ایکشنز (methods) کو اپنے اندر رکھتا ہے۔
ایک کار کے بارے میں سوچیں۔ اس کی کچھ خصوصیات (properties) ہوتی ہیں جیسے رنگ اور برانڈ۔ اس کے کچھ کام (actions) ہوتے ہیں جیسے اسٹارٹ اور اسٹاپ۔
یہاں وہ بنیادی تصورات ہیں جنہیں آپ کو جاننے کی ضرورت ہے:
• Classes اور Objects ایک کلاس ایک بلیو پرنٹ (خاکہ) ہے۔ ایک آبجیکٹ وہ اصل چیز ہے جو آپ اس بلیو پرنٹ سے بناتے ہیں۔
• Constructors ایک کنسٹرکٹر ایک خاص میتھڈ ہے۔ یہ نیا آبجیکٹ بناتے وقت اس کے ڈیٹا کو سیٹ کرنے کے لیے خود بخود چلتا ہے۔
• Inheritance
یہ ایک کلاس کو دوسری کلاس سے خصوصیات لینے کی اجازت دیتا ہے۔ یہ آپ کو ایک ہی کوڈ بار بار لکھنے سے روکتا ہے۔ پیرنٹ کلاس کو کال کرنے کے لیے super() کی ورڈ استعمال کریں۔
• Encapsulation
یہ ڈیٹا کو محفوظ رکھتا ہے۔ آپ اندرونی تفصیلات کو چھپا دیتے ہیں اور صرف وہی دکھاتے ہیں جو ضروری ہو۔ JavaScript میں فیلڈز کو پرائیویٹ بنانے کے لیے # کا نشان استعمال کریں۔
• Abstraction یہ پیچیدہ لاجک کو چھپاتا ہے۔ آپ کو یہ جاننے کی ضرورت نہیں ہوتی کہ اندرونی پرزے کیسے کام کر رہے ہیں، آپ صرف ایک سادہ انٹرفیس کے ذریعے کام کرتے ہیں۔
• Polymorphism یہ مختلف کلاسز کو ایک ہی میتھڈ کا نام استعمال کرنے لیکن مختلف کام کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، ایک جانور بھونک سکتا ہے جبکہ دوسرا میاؤں کر سکتا ہے۔
• Getters اور Setters یہ آپ کو اس بات پر کنٹرول فراہم کرتے ہیں کہ لوگ آپ کے ڈیٹا تک کیسے رسائی حاصل کرتے ہیں یا اسے کیسے تبدیل کرتے ہیں۔
OOP کیوں استعمال کریں؟
- آپ کوڈ کو آسانی سے دوبارہ استعمال کر سکتے ہیں۔
- آپ کا پروجیکٹ منظم رہتا ہے۔
- مینٹیننس تیز ہو جاتی ہے۔
- جیسے جیسے آپ کا کام بڑھتا ہے، آپ کا آرکیٹیکچر صاف ستھرا رہتا ہے۔
ان ستونوں میں مہارت حاصل کرنا آپ کو ایک بہتر ڈویلپر بناتا ہے۔ اپنے اگلے ڈیش بورڈ یا ای کامرس پروجیکٹ میں ان تصورات کو استعمال کرنے کی کوشش کریں۔