اوبجیکٹ اوریئنٹڈ پروگرامنگ

آزاد دائرۃ المعارف، ویکیپیڈیا سے
(برمجہ شئے التوجہ سے رجوع مکرر)
یہاں جائیں: رہنمائی، تلاش کریں

اوبجیکٹ اوریئنٹڈ پروگرامنگ (انگریزی: Object Oriented Programming) کمپیوٹر پروگرام کو مسئلے کی درجہ بندی اور انکے آپس کے روابط کی بنیادوں پر مرتب کرنے کا نام ہے۔

تشریح[ترمیم]

اوبجیکٹ اوریینٹڈ پروگرامنگ کو سمجھنے کے لئے سب سے پہلے درجہ بندی (Classification) سمجھنا ضروری ہے۔ درجہ بندی سے مراد حقیقت میں وہی ہے جو عام زندگی میں ہوتا ہے۔ مثال کے طور پر مضامین کی درجہ بندی کچھ اس طرح سے کی جا سکتی ہے:

mazameen


مندرجہ بالا مثال سے معلوم ہوتا ہے کہ مضامین کو چار درجوں میں تقسیم کیا گیا ہے۔ اگر ہم دوسری سطح کی درجہ بندی کو دیکھیں تو معلوم ہوگا، سارے مضامین ایک دوسرے سے بالکل الگ الگ ہیں مگر ایک ہی درجے سے تعلق رکھتے ہیں یعنی سب کے سب مضامین ہی ہیں۔ بالکل اسی طرح سے برصغیر اور یورپ کی تاریخ بالکل الگ ہیں مگر دونوں تاریخ کی درجہ بندی سے تعلق رکھتی ہیں۔

اب پروگرامنگ کی طرف آتے ہیں۔ شروع میں پروگرامنگ صرف ہدایات یعنی Instructions کی بنیاد پر ہوتی تھی۔ جوں جوں پروگرامنگ کے میدان میں ترقی ہوتی گئی پروگرام کا حجم اور مسائل کے حل کی تعداد بڑھتی گی۔ کسی بہت بڑے پروگرام میں نقص ڈھونڈنا اور اسکا حل تلاش کرنا مشکل ترین ہوتا چلا گیا۔ تو ضرورت اس امر کی پیش آئی کہ کس طرح پروگرام کو مرتب کیا جائے جس کو نہ صرف بعد میں سمجھنا بلکہ نقص دور کرنا بھی آسان ہو سکے۔ ان مسائل کے حل ڈھونڈنے میں آج تک پروگرامنگ نے کئی ادوار دیکھے۔ 1960ء اور 1970ء کی دہائیوں تک اوبجیکٹ اوریئنٹڈ پروگرامنگ کے تصورات مزید واضح ہوتے چلے گئے۔

بنیادی تصورات[ترمیم]

اوبجیکٹ اوریینٹڈ پروگرامنگ کے بنیادی تصورات کچھ اسطرح ہیں۔

درجہ بندی[ترمیم]

مسائل کو ان کے درجوں کے لحاظ سے تقسیم کرنا درجہ بندی کہلاتا ہے۔

مثال[ترمیم]

کسی بھی درجہ بندی کی حقیقی مثال۔ مثلا کلرک اور منیجر ملازمین ہیں اور فلاں صاحب کلرک ہیں یعنی کلرک کی درجہ بندی کی حقییقی مثال ہیں۔

خواص[ترمیم]

ہر درجہ یعنی Class کے کچھ خواص ہوتے ہیں جو اس درجہ کی تعریف بیان کرتے ہیں۔

طریقہ کار[ترمیم]

خواص کی طرح ہر درجہ کے کچھ طریقہ کار ہوتے ہیں۔ یعنی ان ہدایات کا مجموعہ جن کے لیے یہ درجہ مخصوص ہو۔

درجوں کے تعلق[ترمیم]

درجہ ایک دوسرے سے اخذ کیے جاسکتے ہیں۔ مثلا مضامین والی مثال میں دوسرے سطح کے درجے مضامین سے اخذ کیے گیے ہیں۔

وراثت[ترمیم]

اخذ کیے جانے والا درجہ اپنی بنیادی درجہ سے خواص اور طریقہ کار بھی استعمال کر سکتا ہے۔

مندرجہ ذیل مثال ان تصورات کو بیان کرتی ہے۔

mazameen

تینوں ذیلی ادارے درحقیقت قومی ادارے ہیں۔ قومی ادارہ کچھ بنیادی خواص اور طریقہ کار رکھتا ہے جو تمام ذیلی اداروں میں پای جائے گی۔ اداروں کا تعلق درجوں کے تعلق کو بیان کرتا ہے۔ جبکہ ذیلی اداروں میں اپنے خواص و طریقہ کار کے ساتھ ساتھ قومی ادارے کے خواص بھی پاے جائیں گے جو وراثت کی مثال ہے۔

ایک عام مثال[ترمیم]

ایک بینک کے کھاتوں کا حساب کتاب رکھنے کے لیے پروگرام بنایا جائے تومختلف درجوں میں ان سے متعلق خواص اور طریقہ کار وضع کیے جائیں گے۔ بینک کے کسی کھاتے کا ایک بنیادی درجہ کچھ یوں ہو سکتا ہے:

mazameen

خواص میں مالک کا نام اور رقم کی تعداد محفوظ ہوسکے گی۔ جبکہ پیسہ نکالنے اور جمع کرنے کا طریقہ کار یعنی Programming Instructions بھی اسی درجہ میں بیان ہوگا۔ اس مثال سے واضح ہو جاتا ہے کہ پروگرام کو درجوں میں بانٹنے سے پروگرام سمجھنا اور بعد میں ٹھیک کرنا خاصا آسان ہو جاتا ہے۔ عام زندگی میں ہمیں جابجا اس کی مثالیں نظر آتی ہیں۔ اداروں کو انتظامی بنیادوں پر درجوں میں تقسیم کرنا اس کی ایک واضح مثال ہے۔

دوسری مثال[ترمیم]

پروگرامنگ کے اوبجیکٹ اورئینٹیڈ انداز (Paradigm) میں پروگرام کے اجزا کو مختلف چھوٹی بڑی مفرد یا مرکب اشیا کے انداز میں برتا جاتا ہے۔ بنیادی تصور یہ ہے کہ ہر شے کا تعلق ایک عمومی صنف (Class) سے ہوتا ہے جو چند خواص اور چند افعال پر مشتمل ہوتی ہے۔ یہ اصناف مختلف چھوٹی اصناف کا مرکب ہو سکتی ہیں یا پھر کسی بنیادی صنف کی شاخ۔ مثال کے طور پر ایک لائبریری مینجمنٹ پروگرام میں کتاب، مصنف، صارف، پبلشر وغیرہ کچھ ایک اصناف ہو سکتی ہیں اور ہر صنف سے متعلق کئی اشیا نظام کا حصہ ہو سکتی ہیں۔ ان میں سے ہر شئے ایک دوسرے سے مختلف ہو سکتی ہے لیکن بعض معاملات میں یکسانیت ہوگی جن کے باعث وہ کسی ایک صنف کا جزو ہوں گی۔ جیسے تمام کتابوں میں قدر مشترک یہ ہے کہ ہر ایک کتاب کا ایک عنوان ہوگا، ایک یا زائد مصنف ہوں گے، صفحات کی تعداد ہوگی، سن اشاعت ہوگی، یہ تمام خواص مل کر کتاب کی صنف متعین کرتی ہیں اور ان کی مختلف قدریں کسی مخصوص کتاب کو بطور مفرد شئے متعارف کراتی ہیں۔ اسی طرح صارف اور مصنف دونوں اپنے آپ میں اصناف ہیں لیکن وہ دونوں ہی ایک عمومی صنف "فرد" سے مشتق (Inherited) ہیں۔ صارف کے خواص میں اس کا نام، ولدیت، پتہ، تاریخ ولادت، جنس، اور تاریخ رکنیت وغیرہ شامل ہوں گی جبکہ اس کے افعال میں کتابیں نکلوانا، جمع کرنا، فیس ادا کرنا وغیرہ شامل ہوں گی۔ اسی طرح مصنف کے خواص میں نام، ولدیت، تاریخ ولادت، جنس، تعداد کتب اور افعال میں کتابیں لکھنا، انھیں شائع کروانا وغیرہ شامل ہوں گی۔ صارف اور مصنف کے جو خواص اور افعال مشترک ہوں گے انھیں صنف مشترک یعنی فرد سے منسلک کر دیا جائے گا اور منفرد خواص اور افعال کو ذیلی اصناف میں رکھا جائے گا۔