خلاصہ ، encapsulation اور OOP (آبجیکٹ اورینٹڈ پروگرامنگ) میں پوشیدہ معلومات کے درمیان قطعی فرق کیا ہے؟


جواب 1:

آخر میں ، خلاصہ اور معلومات کو چھپانے کا ایک دوسرے سے باہمی تعلق ہے جہاں انکپسولیشن مذکورہ بالا سے بالکل مختلف ہے۔

انکپولیشن - بائنڈنگ ڈیٹا اور اس سے وابستہ افعال ایک ساتھ مل کر (جیسے ڈیٹا ممبر + ممبر افعال)۔ بعض اوقات ڈیٹا ممبروں کو "متغیر" اور ممبر افعال کو "طریقوں" کے طور پر بھیجا جاتا ہے۔

خلاصہ - آخری صارف سے ضروری تفصیلات "صرف" چھپانا

مثال کے طور پر اسکول کی انتظامیہ پر غور کریں .. یہاں ویب پیج / ڈیٹا بیس تک رسائی حاصل کرنے میں پرنسپل اور طالب علم کا استحقاق بالکل مختلف ہے۔ یہاں ان کے خلاصے کی مختلف سطحیں ہیں۔

(ڈی بی ایم ایس میں - اسے "خیالات" کہا جاتا ہے)

معلومات چھپانا - حفاظتی مقصد کے لئے عمل درآمد کی تفصیلات چھپانا۔ مثال کے طور پر ہمارے اے ٹی ایم پر غور کریں .. ہم سب جانتے ہیں کہ رقم واپس لے رہے ہیں..لیکن یہ حقیقت میں کیسے کام کرتا ہے..اور لین دین کس طرح ہوتا ہے یہ مکمل طور پر پوشیدہ ہے۔


جواب 2:

مجھے یقین نہیں تھا کہ آیا میں انکلیوسولیشن اور معلومات کو چھپانے کے مابین کوئی بہتر فرق پیدا کرنے میں کامیاب رہا تھا ، لیکن میں نے مارک ملر کے آبجیکٹ اورینٹڈ پروگرامنگ کے بارے میں جو سوالات کے بارے میں آپ سے پوچھا تھا ان میں سے تینوں عنوانات کا جواب دینے کی کوشش کی تھی: عام آدمی کی شرائط میں ، کیا ہے خلاصہ ، encapsulation اور معلومات چھپانے کے درمیان فرق؟

جب میں نے بہت سال پہلے پہلی بار ان شرائط کے بارے میں سیکھا تھا تو ، میری سمجھ میں یہ تھا کہ انکلیوسولیشن کا عمل چھپنے کے عمل سے ہوتا ہے ، اور معلومات کو چھپانے کا کام چھپ جانے کی حالت سے ہوتا ہے۔


جواب 3:

خلاصہ اس پر غور کیا جارہا ہے کہ باہر سے کسی شے / طبقے کی طرح نظر آتی ہے ، اس کی پرواہ کیے بغیر کہ اس کو کیسے لاگو کیا جاتا ہے ، یا یہاں تک کہ اس پر عمل درآمد کیا جاتا ہے۔ ایک تجریدی طریقہ کار کے نام ، ان پٹ پیرامیٹرز اور ریٹرن ویلیوز کے لحاظ سے مطلوبہ دستخط ہوں گے ، لیکن اگر آپ نے اسے فون کرنے کی کوشش کی تو آپ کو "ابھی تک لاگو نہیں کیا گیا" خرابی ہوگی۔

انکپسولیشن ایک پروگرامنگ یونٹ میں ایک عملی تصور کا اظہار کر رہا ہے۔ مثال کے طور پر ایک شطرنج کے پروگرام میں نائٹ کی کلاس ان چیزوں کا احاطہ کرے گی جو شطرنج نائٹ کرسکتا ہے - لہذا آپ نائٹ سے پوچھ سکتے ہیں ، "کیا آپ جہاں سے X ، y کی پوزیشن پر جاسکتے ہیں وہاں سے منتقل ہوسکتے ہیں؟" اور نائٹ جواب ہاں یا نہیں میں دے سکتی تھی۔ نائٹ کس طرح نائٹس کی حرکت کو جانتے ہیں۔

معلومات کو چھپانا یہ یقینی بنارہا ہے کہ ایسی چیزیں جن کو کسی کلاس / آبجیکٹ کے صارفین کو دکھائے جانے کی ضرورت نہیں ہے۔ مثال کے طور پر میرا نائٹ اس بارے میں اپنا ذخیرہ رکھ سکتا ہے کہ نائٹس کس طرح تلاشی جدول میں ، یا ریاضی کے حساب کتاب کے کچھ سیٹ میں منتقل ہوتا ہے۔ نائٹ کے صارف کو اس کے بارے میں جاننے کی ضرورت نہیں ہے - یہ وہ معلومات ہے جو چھپی ہو۔

یہ تینوں چیزیں آپس میں منسلک ہیں۔ عام دھاگہ کلاس کے اندر اور باہر سے کم سے کم ضروری معلومات کو کم کرنا اور مختلف مواصلاتی کلاسوں کے نفاذ کو ہر ممکن حد تک آزاد بنانا ہے۔


جواب 4:

خلاصہ اس پر غور کیا جارہا ہے کہ باہر سے کسی شے / طبقے کی طرح نظر آتی ہے ، اس کی پرواہ کیے بغیر کہ اس کو کیسے لاگو کیا جاتا ہے ، یا یہاں تک کہ اس پر عمل درآمد کیا جاتا ہے۔ ایک تجریدی طریقہ کار کے نام ، ان پٹ پیرامیٹرز اور ریٹرن ویلیوز کے لحاظ سے مطلوبہ دستخط ہوں گے ، لیکن اگر آپ نے اسے فون کرنے کی کوشش کی تو آپ کو "ابھی تک لاگو نہیں کیا گیا" خرابی ہوگی۔

انکپسولیشن ایک پروگرامنگ یونٹ میں ایک عملی تصور کا اظہار کر رہا ہے۔ مثال کے طور پر ایک شطرنج کے پروگرام میں نائٹ کی کلاس ان چیزوں کا احاطہ کرے گی جو شطرنج نائٹ کرسکتا ہے - لہذا آپ نائٹ سے پوچھ سکتے ہیں ، "کیا آپ جہاں سے X ، y کی پوزیشن پر جاسکتے ہیں وہاں سے منتقل ہوسکتے ہیں؟" اور نائٹ جواب ہاں یا نہیں میں دے سکتی تھی۔ نائٹ کس طرح نائٹس کی حرکت کو جانتے ہیں۔

معلومات کو چھپانا یہ یقینی بنارہا ہے کہ ایسی چیزیں جن کو کسی کلاس / آبجیکٹ کے صارفین کو دکھائے جانے کی ضرورت نہیں ہے۔ مثال کے طور پر میرا نائٹ اس بارے میں اپنا ذخیرہ رکھ سکتا ہے کہ نائٹس کس طرح تلاشی جدول میں ، یا ریاضی کے حساب کتاب کے کچھ سیٹ میں منتقل ہوتا ہے۔ نائٹ کے صارف کو اس کے بارے میں جاننے کی ضرورت نہیں ہے - یہ وہ معلومات ہے جو چھپی ہو۔

یہ تینوں چیزیں آپس میں منسلک ہیں۔ عام دھاگہ کلاس کے اندر اور باہر سے کم سے کم ضروری معلومات کو کم کرنا اور مختلف مواصلاتی کلاسوں کے نفاذ کو ہر ممکن حد تک آزاد بنانا ہے۔


جواب 5:

خلاصہ اس پر غور کیا جارہا ہے کہ باہر سے کسی شے / طبقے کی طرح نظر آتی ہے ، اس کی پرواہ کیے بغیر کہ اس کو کیسے لاگو کیا جاتا ہے ، یا یہاں تک کہ اس پر عمل درآمد کیا جاتا ہے۔ ایک تجریدی طریقہ کار کے نام ، ان پٹ پیرامیٹرز اور ریٹرن ویلیوز کے لحاظ سے مطلوبہ دستخط ہوں گے ، لیکن اگر آپ نے اسے فون کرنے کی کوشش کی تو آپ کو "ابھی تک لاگو نہیں کیا گیا" خرابی ہوگی۔

انکپسولیشن ایک پروگرامنگ یونٹ میں ایک عملی تصور کا اظہار کر رہا ہے۔ مثال کے طور پر ایک شطرنج کے پروگرام میں نائٹ کی کلاس ان چیزوں کا احاطہ کرے گی جو شطرنج نائٹ کرسکتا ہے - لہذا آپ نائٹ سے پوچھ سکتے ہیں ، "کیا آپ جہاں سے X ، y کی پوزیشن پر جاسکتے ہیں وہاں سے منتقل ہوسکتے ہیں؟" اور نائٹ جواب ہاں یا نہیں میں دے سکتی تھی۔ نائٹ کس طرح نائٹس کی حرکت کو جانتے ہیں۔

معلومات کو چھپانا یہ یقینی بنارہا ہے کہ ایسی چیزیں جن کو کسی کلاس / آبجیکٹ کے صارفین کو دکھائے جانے کی ضرورت نہیں ہے۔ مثال کے طور پر میرا نائٹ اس بارے میں اپنا ذخیرہ رکھ سکتا ہے کہ نائٹس کس طرح تلاشی جدول میں ، یا ریاضی کے حساب کتاب کے کچھ سیٹ میں منتقل ہوتا ہے۔ نائٹ کے صارف کو اس کے بارے میں جاننے کی ضرورت نہیں ہے - یہ وہ معلومات ہے جو چھپی ہو۔

یہ تینوں چیزیں آپس میں منسلک ہیں۔ عام دھاگہ کلاس کے اندر اور باہر سے کم سے کم ضروری معلومات کو کم کرنا اور مختلف مواصلاتی کلاسوں کے نفاذ کو ہر ممکن حد تک آزاد بنانا ہے۔


جواب 6:

خلاصہ اس پر غور کیا جارہا ہے کہ باہر سے کسی شے / طبقے کی طرح نظر آتی ہے ، اس کی پرواہ کیے بغیر کہ اس کو کیسے لاگو کیا جاتا ہے ، یا یہاں تک کہ اس پر عمل درآمد کیا جاتا ہے۔ ایک تجریدی طریقہ کار کے نام ، ان پٹ پیرامیٹرز اور ریٹرن ویلیوز کے لحاظ سے مطلوبہ دستخط ہوں گے ، لیکن اگر آپ نے اسے فون کرنے کی کوشش کی تو آپ کو "ابھی تک لاگو نہیں کیا گیا" خرابی ہوگی۔

انکپسولیشن ایک پروگرامنگ یونٹ میں ایک عملی تصور کا اظہار کر رہا ہے۔ مثال کے طور پر ایک شطرنج کے پروگرام میں نائٹ کی کلاس ان چیزوں کا احاطہ کرے گی جو شطرنج نائٹ کرسکتا ہے - لہذا آپ نائٹ سے پوچھ سکتے ہیں ، "کیا آپ جہاں سے X ، y کی پوزیشن پر جاسکتے ہیں وہاں سے منتقل ہوسکتے ہیں؟" اور نائٹ جواب ہاں یا نہیں میں دے سکتی تھی۔ نائٹ کس طرح نائٹس کی حرکت کو جانتے ہیں۔

معلومات کو چھپانا یہ یقینی بنارہا ہے کہ ایسی چیزیں جن کو کسی کلاس / آبجیکٹ کے صارفین کو دکھائے جانے کی ضرورت نہیں ہے۔ مثال کے طور پر میرا نائٹ اس بارے میں اپنا ذخیرہ رکھ سکتا ہے کہ نائٹس کس طرح تلاشی جدول میں ، یا ریاضی کے حساب کتاب کے کچھ سیٹ میں منتقل ہوتا ہے۔ نائٹ کے صارف کو اس کے بارے میں جاننے کی ضرورت نہیں ہے - یہ وہ معلومات ہے جو چھپی ہو۔

یہ تینوں چیزیں آپس میں منسلک ہیں۔ عام دھاگہ کلاس کے اندر اور باہر سے کم سے کم ضروری معلومات کو کم کرنا اور مختلف مواصلاتی کلاسوں کے نفاذ کو ہر ممکن حد تک آزاد بنانا ہے۔