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