"اوبجیکٹ اوریئنٹڈ پروگرامنگ" کے نسخوں کے درمیان فرق

حذف شدہ مندرجات اضافہ شدہ مندرجات
انگریزی الفاظ کو اردو الفاظ سے بدلا
سطر 1:
'''اوبجیکٹبرمجہ اوریئنٹڈشئے پروگرامنگالتوجہ''' {{دیگر نام|انگریزی=Object Oriented Programming}} [[کمپیوٹر]] [[پروگرام|برنامج]] (Program) کو مسئلے کی درجہ بندی اور ان کے آپس کے روابط کی بنیادوں پر مرتب کرنے کا نام ہے۔
 
== تشریح ==
اوبجیکٹ'''برمجہ اوریینٹڈشئے پروگرامنگالتوجہ''' کو سمجھنے کے لیے سب سے پہلے درجہ بندی (Classification) سمجھنا ضروری ہے۔ درجہ بندی سے مراد حقیقت میں وہی ہے جو عام زندگی میں ہوتا ہے۔ مثال کے طور پر مضامین کی درجہ بندی کچھ اس طرح سے کی جا سکتی ہے :
 
[[فائل:mazameen_oop_misal.jpg|وسط|alt=mazameen|مضامین کی درجہ بندی]]
سطر 8:
مندرجہ بالا مثال سے معلوم ہوتا ہے کہ مضامین کو چار درجوں میں تقسیم کیا گیا ہے۔ اگر ہم دوسری سطح کی درجہ بندی کو دیکھیں تو معلوم ہوگا، سارے مضامین ایک دوسرے سے بالکل الگ الگ ہیں مگر ایک ہی درجے سے تعلق رکھتے ہیں یعنی سب کے سب مضامین ہی ہیں۔ بالکل اسی طرح سے برصغیر اور یورپ کی تاریخ بالکل الگ ہیں مگر دونوں تاریخ کی درجہ بندی سے تعلق رکھتی ہیں۔
 
اب پروگرامنگ کی طرف آتے ہیں۔ شروع میں پروگرامنگبرنامہ کاری (programming) صرف ہدایات یعنی (Instructions) کی بنیاد پر ہوتی تھی۔ جوں جوں پروگرامنگبرنامہ کاری کے میدان میں ترقی ہوتی گئی پروگرامبرنامج کا حجم اور مسائل کے حل کی تعداد بڑھتی گی۔ کسی بہت بڑے پروگرامبرنامج میں نقص ڈھونڈنا اور اس کا حل تلاش کرنا مشکل ترین ہوتا چلا گیا۔ تو ضرورت اس امر کی پیش آئی کہ کس طرح پروگرامبرنامج کو مرتب کیا جائے جس کو نہ صرف بعد میں سمجھنا بلکہ نقص دور کرنا بھی آسان ہو سکے۔ ان مسائل کے حل ڈھونڈنے میں آج تک پروگرامنگبرمجہ نے کئی ادوار دیکھے۔ 1960ء اور 1970ء کی دہائیوں تک اوبجیکٹبرمجہ اوریئنٹڈشئے پروگرامنگالتوجہ کے تصورات مزید واضح ہوتے چلے گئے۔
 
== بنیادی تصورات ==
اوبجیکٹبرمجہ اوریینٹڈشئے پروگرامنگالتوجہ کے بنیادی تصورات کچھ اس طرح ہیں۔
 
=== درجہ بندی ===
سطر 17:
 
=== مثال ===
کسی بھی درجہ بندی کی حقیقی مثال۔ مثلا کلرکبابو/منشی اور(Clerk) اورمنتظم منیجر(Manager) ملازمین ہیں اور فلاں صاحب کلرکمنشی ہیں یعنی کلرکمنشی کی درجہ بندی کی حقییقی مثال ہیں۔
 
=== خواص ===
ہر درجہ یعنی (Class) کے کچھ خواص ہوتے ہیں جو اس درجہ کی تعریف بیان کرتے ہیں۔
 
=== طریقہ کار ===
سطر 35:
[[فائل:idaray_oop_misal.jpg|وسط|alt=mazameen]]
 
تینوں ذیلی ادارے درحقیقت قومی ادارے ہیں۔ قومی ادارہ کچھ بنیادی خواص اور طریقہ کار رکھتا ہے جو تمام ذیلی اداروں میں پایپائی جائے گی۔ اداروں کا تعلق درجوں کے تعلق کو بیان کرتا ہے۔ جبکہ ذیلی اداروں میں اپنے خواص و طریقہ کار کے ساتھ ساتھ قومی ادارے کے خواص بھی پاے جائیں گے جو وراثت کی مثال ہے۔
 
== ایک عام مثال ==
ایک بینکمصرف (Bank) کے کھاتوں کا حساب کتاب رکھنے کے لیے پروگرامبرمجہ بنایا جائے تومختلف درجوں میں ان سے متعلق خواص اور طریقہ کار وضع کیے جائیں گے۔ بینک کے کسی کھاتے کا ایک بنیادی درجہ کچھ یوں ہو سکتا ہے :
 
[[فائل:bank_khata_oop_misal.jpg|وسط|alt=mazameen]]
 
خواص میں مالک کا نام اور رقم کی تعداد محفوظ ہو سکے گی۔ جبکہ پیسہ نکالنے اور جمع کرنے کا طریقہ کار یعنی(برمجی ہدایات: Programming Instructions) بھی اسی درجہ میں بیان ہوگا۔ اس مثال سے واضح ہو جاتا ہے کہ [[پروگرام|برنامج]] کو درجوں میں بانٹنے سے پروگرام سمجھنا اور بعد میں ٹھیک کرنا خاصا آسان ہو جاتا ہے۔ عام زندگی میں ہمیں جابجا اس کی مثالیں نظر آتی ہیں۔ اداروں کو انتظامی بنیادوں پر درجوں میں تقسیم کرنا اس کی ایک واضح مثال ہے۔
 
== دوسری مثال ==
پروگرامنگ'''برنامہ کےسازی''' کی اوبجیکٹشئے اورئینٹیڈالتوجہ انداز (Paradigm) میں پروگرام کے اجزا کو مختلف چھوٹی بڑی مفرد یا مرکب اشیا کے انداز میں برتا جاتا ہے۔ بنیادی تصور یہ ہے کہ ہر شے کا تعلق ایک عمومی صنفدرجہ (Class) سے ہوتا ہے جو چند خواص اور چند افعال پر مشتمل ہوتی ہے۔ یہ اصناف مختلف چھوٹی اصناف کا مرکب ہو سکتی ہیں یا پھر کسی بنیادی صنف کی شاخ۔ مثال کے طور پر ایک لائبریری مینجمنٹ پروگرام میں کتاب، مصنف، صارف، پبلشر وغیرہ کچھ ایک اصناف ہو سکتی ہیں اور ہر صنف سے متعلق کئی اشیا نظام کا حصہ ہو سکتی ہیں۔ ان میں سے ہر شے ایک دوسرے سے مختلف ہو سکتی ہے لیکن بعض معاملات میں یکسانی ہوگی جن کے باعث وہ کسی ایک صنف کا جزو ہوں گی۔ جیسے تمام کتابوں میں قدر مشترک یہ ہے کہ ہر ایک کتاب کا ایک عنوان ہوگا، ایک یا زائد مصنف ہوں گے، صفحات کی تعداد ہوگی، سن اشاعت ہوگی، یہ تمام خواص مل کر کتاب کی صنف متعین کرتی ہیں اور ان کی مختلف قدریں کسی مخصوص کتاب کو بطور مفرد شے متعارف کراتی ہیں۔ اسی طرح صارف اور مصنف دونوں اپنے آپ میں اصناف ہیں لیکن وہ دونوں ہی ایک عمومی صنف "فرد" سے مشتق (Inherited) ہیں۔ صارف کے خواص میں اس کا نام، ولدیت، پتہ، تاریخ ولادت، جنس اور تاریخ رکنیت وغیرہ شامل ہوں گی جبکہ اس کے افعال میں کتابیں نکلوانا، جمع کرنا، فیس ادا کرنا وغیرہ شامل ہوں گی۔ اسی طرح مصنف کے خواص میں نام، ولدیت، تاریخ ولادت، جنس، تعداد کتب اور افعال میں کتابیں لکھنا، انھیں شائع کروانا وغیرہ شامل ہوں گی۔ صارف اور مصنف کے جو خواص اور افعال مشترک ہوں گے انھیں صنف مشترک یعنی فرد سے منسلک کر دیا جائے گا اور منفرد خواص اور افعال کو ذیلی اصناف میں رکھا جائے گا۔
 
[[زمرہ:اوبجیکٹ اوریئنٹڈ پروگرامنگ]]