Abstraction اور Encapsulation کے درمیان فرق

Anonim

ہے جس میں آپ کو حقیقی دنیا کی اشیاء کو پروگراموں اور کوڈوں میں لاگو کرنا ہوگا. جبکہ دونوں ہاتھ ہاتھ میں جاتے ہیں، وہ ایک دوسرے سے بہت مختلف ہوتے ہیں. اگرچہ ہر طریقہ ایک encapsulation ہے، یہ ایک abstraction بھی ہے. سادہ شرائط میں، جب آپ کسی چیز کو پیدا کرنے کے لئے مختلف چیزوں کو ایک دوسرے کے ساتھ ڈالتے ہیں، تو آپ اصل میں ایک تصور بناتے ہیں - ایک خلاصہ. جبکہ دونوں تکنیکی طور پر ناگزیر ہیں، ان میں عام طور پر کچھ بھی لفظی نہیں ہے. یہ تقریبا سچ ہے کہ ہر encapsulation ایک abstractction ہے کیونکہ وہ دونوں کو کچھ چھپا، تاہم، ان کے اختلافات کا منصفانہ حصہ ہے.

خلاصہ کیا ہے؟

خلاصہ ایک بنیادی OOP تصور ہے جس میں کسی چیز کے صرف متعلقہ اعداد و شمار پر توجہ مرکوز ہے اور تمام غیر متعلقہ تفصیلات کو چھپاتا ہے جو عام یا مخصوص سلوک کے لئے ہو یا نہیں ہوسکتا ہے. یہ پس منظر کی تفصیلات کو چھپاتا ہے اور پیچیدگی کو کم کرنے اور کارکردگی کو بڑھانے کے لئے ضروری پوائنٹس پر زور دیتا ہے. بنیادی طور پر، پیچیدگی کا انتظام کرنے کے لئے تجزیہ کرنے والا ایک پروگرامنگ آلہ ہے. ابھرتے ہوئے واقعات کے بجائے خیالات پر توجہ مرکوز کرتا ہے. صارفین کو فعالیت فراہم کرنے سے یہ ڈیزائن کی سطح پر تفصیلات چھپاتا ہے. نتیجے میں اعتراض بھی تجزیہ کہا جا سکتا ہے. پروگرامر اس بات کو یقینی بناتا ہے کہ نامزد ادارے میں تمام لازمی پہلوؤں کو شامل کیا جائے گا اور ان میں سے کوئی بھی غیر متعلقہ افراد نہیں ہوں گے.

چلو کی تجزیہ کی حقیقی دنیا کی مثال لے لو. آئیے گاڑی کے معاملے پر غور کریں، جو اس معاملے میں آپ کی گاڑی ہے. میکینک آپ کی گاڑی کی مرمت کرنے کی کوشش کرتا ہے یا آپ کی گاڑی کا ایک مخصوص حصہ بتاتا ہے. یہاں، آپ صارف ہیں اور آپ کو آپ کی گاڑی کی تفصیلات یا اصل میں توڑنے کے لئے نہیں جانا چاہتے ہیں. آپ واقعی ان چیزوں کی پرواہ نہیں کرتے ہیں؛ تفصیلات کے بارے میں تشویش کے بغیر آپ اپنی گاڑی واپس اپنی اصل حالت میں واپس آنا چاہتے ہیں. لہذا، آپ نے اصل میں میکانیک کو بتایا کہ آپ عمل درآمد کے حصے کو الگ کرکے کیا چاہتے ہیں. یہ خلاصہ ہے. آپ سب سے اہم چیز پر توجہ مرکوز کرتے ہیں، جو آپ کی گاڑی طے کر رہی ہے، اس پر توجہ مرکوز کرنے کے بجائے.

اختصاص کیا ہے؟

Encapsulation ابھی تک ایک اور اوپ تصور ہے جس میں اعداد و شمار اور افعال کو ایک اجزاء میں پابندی ہوتی ہے جبکہ کچھ اجزاء تک رسائی کو محدود کرتی ہے. یہ OOP کے بنیادی بنیادی تصورات میں سے ایک ہے جو ایک واحد یونٹ کے تحت ڈیٹا اور معلومات لاتا ہے. تکنیکی شرائط میں، encapsulation کا مطلب ہے کہ صفات سے باہر رسائی کے متغیرات کو ڈھالنے کے لئے خاصیت چھپانے کے لئے تاکہ کسی قسم کی درخواست میں تبدیلی دوسرے حصوں پر اثر انداز نہ ہو. اس کے برعکس، معلومات کو زیادہ کھلی کرکے آپ کو ڈیٹا کا غلط استعمال کرنا ہوگا. یہ باہر کی دنیا سے حفاظت کی طرف سے اعداد و شمار کے لئے بنیادی سالمیت فراہم کرتا ہے. سادہ الفاظ میں، یہ باہر کی دنیا سے اضافی تفصیلات چھپاتا ہے.

آئیے بلوٹوت ماؤس کا ایک مثال لیں.آپ کو صرف اس طرح کے سینسر مائیکروسافٹ کے بارے میں فکر کرنے کے بغیر آلہ کے رویے کے بارے میں جاننے کی ضرورت ہے، یہ وائرلیس یا نہیں ہے. ہر ایک تفصیل ماؤس کی وضاحت کرتا ہے لیکن تفصیلات کے بغیر، یہ صرف ایک ماؤس ہے. آپ کو صرف ماؤس کا استعمال کرنے کے لئے ایک انٹرفیس کی ضرورت ہے، جس میں اس صورت میں ماؤس پوائنٹر ہے. یہ encapsulation ہے.

ابلاغ اور Encapsulation کے درمیان فرق

جبکہ دونوں او او پی سے متعلق بنیادی تصورات ہیں اور وہ تکنیکی طور پر ناقابل اعتماد ہیں، ان کے اب بھی بہت سے پہلوؤں میں ان کے اختلافات ہیں.

  1. خلاصہ اور encapsulation کی "تعریف" میں اختلافات - خلاصہ ایک بنیادی OOP تصور ہے جس میں ایک اعتراض کے تمام ضروری پہلوؤں پر کارکردگی کو بڑھانے اور پیچیدگی کو ختم کرنے کے لئے غیر متعلقہ تفصیلات چھپا کرکے زور دیا ہے. Encapsulation، دوسری طرف، ایک ڈیٹا چھپی ہوئی میکانزم ہے جس میں اعداد و شمار اور معلومات کیپسول میں بیرونی دنیا سے رسائی کو محدود کرنے کے لئے پڑتا ہے.
  2. "فعالیت" ابلاغ اور Encapsulation کے اختلافات - خلاصہ ایک ڈیٹا چھپنے والے میکانزم ہے جو پیچیدہ پروگراموں کو سادہ بنانے کے لئے صرف ضروری خصوصیات پر روشنی ڈالتا ہے، جبکہ دوسری طرف، encapsulation، پابند کرنے کا ایک طریقہ ہے ایک واحد ادارے میں ڈیٹا اور کوڈ. خیال یہ ہے کہ بیرونی رسائی سے عملدرآمد کی تفصیلات کو ڈھونڈنا ہے.
  3. ابھارکشن اور Encapsulation کے "عمل" میں اختلافات - خلاصہ کلاس اور انٹرفیس کا استعمال کرتے ہوئے ابھرکشیشن لاگو کیا جاتا ہے، جبکہ خفیہ کاری کا استعمال رسائی کے نمونے کے ذریعے لاگو ہوتا ہے. نجی، پبلک، اندرونی، محفوظ، اور محفوظ داخلی: اعداد و شمار کو الگ کرنے کے لئے پانچ اقسام کی ترمیم کا استعمال کیا جاتا ہے.
  4. "تصور" خلاصہ اور نفاذ کی میں اختلافات کے پیچھے نظریہ یہ ہے کہ کس طرح کی بجائے. Encapsulation اندرونی میکانکس کو چھپاتا ہے کہ کس طرح. مثال کے طور پر، جب آپ گاڑی چلاتے ہیں، تو آپ جانتے ہیں کہ بریک پیڈل بالکل کیا کرتا ہے لیکن آپ اس کے پیچھے پورے میکانیزم کو نہیں جانتے کیونکہ اعداد و شمار کا اندازہ لگایا جاتا ہے. خلاصہ اور نفاذ کے "مثلا" مثال میں اختلافات
  5. - چلو ایک سمارٹ فون کا ایک مثال لے لو. آپ جانتے ہیں کہ یہ کیا کرتا ہے لیکن آپ نہیں جان سکتے کہ یہ کس طرح کرتا ہے. آپ اپنے اندرونی سرکٹری کے بارے میں فکر کرنے کی بجائے ڈسپلے اسکرین اور کیپیڈ بٹن کے بارے میں صرف دیکھتے ہیں. یہاں، سمارٹ فون ایک خلاصہ ہے جہاں اندرونی عمل درآمد کی تفصیلات کا اندازہ لگایا جاتا ہے. موازنہ کی میز کے ساتھ خلاصہ بمقابلہ نفاذ

خلاصہ

Encapsulation یہ غیر متعلقہ افراد کو چھپی ہوئی پیچیدگی کو کم کرنے کی طرف سے صرف متعلقہ تفصیلات کے ساتھ اس طرح سے کارکردگی کو بڑھاتا ہے.
یہ اعداد و شمار اور معلومات ایک ساتھ مل کر بیرونی ذرائع سے اعداد و شمار کی حفاظت کے لئے ایک ساتھ ملتی ہے. اس کو چھپانے کے مقاصد کے لئے ضروری نہیں ہے جو ڈیٹا چھپانے کے خیال سے مراد ہے.
یہ ناپسندیدہ رسائی کو محدود کرنے کے لئے ڈیٹا اور کوڈ چھپاتا ہے. اس کے بجائے کس طرح پر توجہ مرکوز ہے.
یہ اندرونی میکانکس چھپاتا ہے کہ یہ کیسے کرتا ہے. یہ ڈیزائن کی سطح پر غیر ضروری تفصیلات چھپاتا ہے.
یہ تفصیلات بھی چھپانے پر عمل درآمد کی سطح پر چھپاتا ہے. معلومات اور اعداد و شمار متعلقہ ڈیٹا سے علیحدہ ہیں.
قریبی رسائی کے لئے کیپسول کے اندر معلومات پوشیدہ ہے. یہ واقعات کے بجائے خیالات کے ساتھ معاملہ کرتا ہے.
خیال باہر کی دنیا سے ڈیٹا کی حفاظت کرنا ہے. اس خلاصہ کلاس اور انٹرفیس کا استعمال کرتے ہوئے لاگو کیا جاتا ہے.
یہ محفوظ، نجی، اور پیکیج-نجی رسائی کے موڈفائرز کے استعمال سے لاگو ہوتا ہے. خلاصہ

جبکہ دونوں ڈیٹا چھپنے سے متعلق OOP تصورات ہیں، وہ ایک دوسرے سے بالکل مختلف ہیں. خلاصہ بھی encapsulation کی طرح چھپنے سے متعلق ہے، لیکن سابق چھپی ہوئی پیچیدگی کے دوران، بعد میں اعداد و شمار ان کو رسائی کو کنٹرول کرنے کے ذریعے encapsulates ڈیٹا رکھتا ہے. Abstraction صرف ایک ضروری درخواست کو چھپانے کی طرف سے صرف ضروری ضروریات کی نمائندگی کرنے کے لئے ایک غیر معمولی تفصیلات چھپانے کی طرف سے ایک درخواست کی پیچیدگی کو کم کرنے کی وجہ سے اس کی کارکردگی میں اضافہ. دوسری طرف Encapsulation، ایک پروگرام کے تمام داخلی میکانکس کو چھپا کرنے کے تصور سے مراد غیر مستحکم رسائی سے معلومات کو بچانے کے لئے. یہ دیگر اجزاء تک رسائی کو محدود کر کے اعداد و شمار اور معلومات کو ایک اجزاء میں مل کر باندھاتا ہے.