فرق اور ساخت کے درمیان فرق. کلاس اور ساخت کے درمیان فرق کو سمجھنے سے پہلے
ہم کلاس اور ساخت کے درمیان فرق کو سمجھنے سے پہلے، ہمیں ان کے ساتھ منسلک چند بنیادی تصورات کو جاننا چاہئے. تصورات کی تفہیم کے بغیر، دونوں کے درمیان اختلافات کو سمجھنا مشکل ہے.
کلاس اور آبجیکٹ کیا ہے:
یہ آبجیکٹ مہذب پروگرامنگ سے متعلق دو اہم تصورات ہیں، اور وہ افعال اور اعداد و شمار کو دوسرے افعال میں منتقل کرنے کے لئے بنیاد بناتے ہیں. ایک بہتر تفہیم کے لئے، ہم اسے حقیقی زندگی کی مثال سے مطابقت رکھ سکتے ہیں. ایک کلاس ایک اسٹور کے طور پر سمجھا جا سکتا ہے، اور ایک فرد انفرادی اسٹورز جیسے گروسری، سٹیشنری، پھل وغیرہ وغیرہ میں سے کسی بھی ہو سکتا ہے. تمام چیزیں اہم طبقے کی مشترکہ خصوصیات - اسٹور، اور باری میں، اشیاء ان کی اپنی خاص خصوصیات جیسے مخصوص ڈیزائن، نظم روشنی وغیرہ ہوسکتے ہیں، اشیاء کے ذریعہ، ہم اصل میں کلاس استعمال کرسکتے ہیں؛ وہ ایک کلاس کی مثال بناتے ہیں.
ایک کلاس کے نحو
کلاس سٹور {
عوامی سٹرنگ چیزیں؛
عوامی سٹرنگ ڈیزائن؛
}
ایک آبجیکٹ کے نحوط
سٹور کروری = نیا اسٹور ()؛
سٹور سٹیشنری = نیا اسٹور ()؛
ایک ساخت کیا ہے؟
ایک ساخت میں صرف اعداد و شمار شامل ہیں، اور اس وجہ سے ساختہ اشیاء کے ذریعہ انفرادی ڈیٹا کی ضروریات کو تیار کرنے میں مدد ملتی ہے. ایک کلاس کے برعکس، یہ افعال کی کمی نہیں ہے. یہاں اس کے نحوق ہے:
ساخت گروسریٹنٹ {{ چار داخلہ_نام [50]؛
داخلہ داخلہ؛
} grocery_entrance؛
تمام اسٹورز انفرادی نام اور سائز کے ساتھ اسٹار 'داخلہ' استعمال کرسکتے ہیں.
وراثت کیا ہے؟
یہ وہی ہے جیسے بیٹا اپنے باپ کے مال کو کس طرح ملتا ہے اور اس کے نتیجے میں، اس کا بیٹا کچھ دوسرے ملکوں کو بھی اپنے آپ کو شامل کرسکتا ہے. کلاس یا تو بیس بیس کلاس یا ایک متوقع کلاس ہوسکتی ہے، جس میں سابق کو مؤخر کرنے کی بنیاد کے طور پر لے جایا جا سکتا ہے. حاصل شدہ کلاس نے خود کو مختلف خصوصیات میں اضافہ کیا ہے. جب ہم مندرجہ ذیل مثال پر غور کرتے ہیں تو، کرسی کی دکان کو ایک مخصوص گروسری اسٹور کے طور پر اب بھی حاصل کیا جاسکتا ہے، جیسے XYZ گروسری کی دکان.
وہ مختلف کیسے ہیں؟
دوبارہ استحکام:
- جیسا کہ طبقات بنیادی فریم ورک بناتے ہیں، وہ دوبارہ دوبارہ استعمال کر سکتے ہیں؛ تاہم، ساخت، مخصوص خصوصیات کے ساتھ انفرادی عناصر ہیں، لہذا وہ دوبارہ استعمال نہیں کرسکتے ہیں. مثال کے طور پر، گروسری کی دکان کی کلاس کسی بھی قسم کی کرسی کی دکان کے لئے استعمال کیا جا سکتا ہے، لیکن اسٹرک گروسریٹریٹ اکیلے کے لئے خاص ہے اور دوسری کلاسوں میں اسے دوبارہ استعمال کرنے میں کوئی موقع نہیں ہے. نمائش:
- کلاس میں تمام افعال عام طور پر اس کے اثاثوں کے لئے دستیاب ہیں.مثال کے طور پر، ہمارے پاس کلاس 'اسٹور' کے تحت 'چیزوں' کا نام ہے. فنکشن 'چیزیں' اس کے تمام اثاثوں جیسے 'گروسری اسٹور،' سٹیشنری اسٹور 'وغیرہ وغیرہ کے لئے نظر آتی ہے. اس طرح کی نمائش اساتذہ کے ساتھ ممنوع نہیں ہے کیونکہ ساخت کا ڈیٹا خود ہی محدود ہے اور دیگر ساخت کے لئے نظر انداز نہیں ہوتا ہے. چیزوں کو واضح کرنے کے لئے، ہم کہہ سکتے ہیں کہ 'گروسریٹریٹ' کے اعداد و شمار تمام دیگر اسٹورز کو پوری طرح نظر انداز نہیں کرسکتے ہیں. حوالہ اور پاس کے ذریعہ پاس ویلیو کی طرف سے:
- حوالہ کی طرف سے پاس صرف میموری جگہ بھیج رہا ہے اور افعال کے اصل ڈیٹا نہیں ہے. اس کا مطلب یہ ہے کہ جب بھی قدر تبدیل ہوجاتا ہے، اس میں تبدیلی اسی افعال میں ظاہر ہوتا ہے. قیمت کی طرف سے پاس، باری میں، صرف تقریب کو قیمت بھیج رہا ہے. اس معاملے میں، بھیجنے کے بعد قیمت میں ایک تبدیلی تقریب میں عکاس نہیں کیا جائے گا. کلاس حوالہ کی طرف سے منظور کرتا ہے، اور Struct پاس قیمت کا استعمال کرتا ہے. وراثت:
- کلاس ذیلی ذیلی کلاس بنانے کے لئے مزید وراثت مند ہوسکتے ہیں، لیکن ساخت میراثیت کا استعمال نہیں کرسکتے ہیں. مثال کے طور پر، کلاس سٹور اس کے افعال کو ذیلی طبقے کی 'گروسری سٹور' میں پیش کرتا ہے. لیکن ساخت 'گروسریٹریٹ' کسی بھی فنکشن کا وارث نہیں کرسکتا. ہم کہہ سکتے ہیں کہ ذیلی ساخت کی طرح کوئی تصور نہیں ہے. پہلے سے طے شدہ نمائش:
- ایک کلاس کے تمام اراکین کو ڈیفالٹ کے ذریعے نجی اداروں کے طور پر رکھا جاتا ہے، جبکہ ایک ساخت کے ارکان کو ڈیفالٹ کی طرف سے عوامی اداروں کے طور پر رکھا جاتا ہے. خالی کلاس اور ساخت کا سائز:
- کلاس 1 بائٹ کا بھی استعمال ہوتا ہے جب بھی یہ خالی ہے، لیکن جب ساخت خالی ہے تو اس کی ساخت کسی بھی میموری کا استعمال نہیں کرتی ہے. اس کا مطلب یہ ہے کہ ہم یہ کہہ سکتے ہیں کہ خالی ساخت کا سائز 0 بٹس برابر ہے. ردی کی ٹوکری جمع:
- کلاس کے ساتھ ردی کی ٹوکری کا مجموعہ ممکن ہے، جیسا کہ وہ حوالہ سے گزرتے ہیں. لہذا، ایک جگہ پر ڈیٹا محفوظ کیا جاتا ہے جہاں صاف کرنے کے لئے آسان ہے. دوسری طرف، ردی کی ٹوکری کا مجموعہ Struct کے ساتھ ممکن نہیں ہے، کیونکہ یہ قیمت کی طرف سے گزر جاتا ہے اور مختلف مقامات پر اعداد و شمار بکھرے ہوئے ہیں. میموری مینجمنٹ:
- کیونکہ کوریج ردی کی ٹوکری جمع کرنے کی اجازت دیتا ہے، میموری انتظام بھی مؤثر ہے؛ تاہم، یہ ساخت کے ساتھ مؤثر نہیں ہے. تعمیر:
- ایک عموما عملا مخصوص مخصوص اقدار کے ساتھ کلاس کو ابتدا کرتا ہے. ہم اسے اس طرح کی طرح دیکھ سکتے ہیں جو اقدار کے ساتھ ابتداء میں شروع ہو چکا ہے. اگر ایک نئی طبق تشکیل دی جائے تو، اس مثال کے لئے تعمیر کو مختص کرنے کے لئے تعمیر کیا جاتا ہے. ہم ایک تعمیر کنندہ کے دوران بھی اقدار کو دلائل کے طور پر منتقل کر سکتے ہیں. اب ہم اپنی اصل بحث میں آتے ہیں. طبقات کو تمام قسم کے تعمیرات کی اجازت دیتا ہے، جیسے دلائل کے ساتھ یا اس کے بغیر، لیکن تعمیرات کو صرف دلائل کے ساتھ اجازت دیتا ہے، i. ای. پیرامیٹرائزڈ ڈویلپرز. ڈسٹرکٹ:
- جب ایک طبقہ کی ایک مثال کو خارج کرنے کی ضرورت ہے تو ایک تباہ کن بلایا جاتا ہے. بدترین، اس کے نتیجے میں، اس طرح کو خارج کر دیتا ہے اور میموری کو آزاد کرتا ہے. ایک کلاس ایک تباہی کا استعمال کر سکتا ہے، جبکہ ایک ساخت نہیں ہو سکتا. اراکین کی متغیرات ابتداء:
- کلاس میں، ہم براہ راست مینی متغیر کو ابتدائی طور پر تشکیل دے سکتے ہیں؛ اساتذہ کے ساتھ اس طرح کی ابتدا ممکن نہیں ہے. آبجیکٹ تخلیق:
- کلاس میں اعتراض تخلیق کے لئے عام نحوق ہے: ڈیمو obj = نیا ڈیمو ()؛
اس کا مطلب یہ ہے کہ ایک کلاس کی اشیاء کو تخلیق کرتے وقت ہمیں مطلوبہ لفظ 'نیا' استعمال کرنا ہوگا.اس کی ضرورت نہیں ہے جب ساخت کی اشیاء پیدا ہو. صرف ان کے نحوط پر نظر ڈالیں:
ڈیمو obj؛
یہ مطلوبہ لفظ 'نیا' کے بغیر بالکل کام کرتا ہے.
کلاس کا استعمال کرتے وقت اور جب استعمال کرنے کے لۓ؟
جیسا کہ استعمال کیا جاتا اشیاء پیچیدہ اور بڑے ہیں جب ہم ایک دوسرے کے ساتھ ڈیٹا اور افعال کو سنبھالنے میں زیادہ لچکدار ہیں، ہم اس کے لئے جا سکتے ہیں. ہمارے مثال میں، مال بہتر طریقے سے نظام کو اظہار کرنے کے لئے کلاس 'اسٹور' استعمال کرسکتا ہے. تاہم، ساخت، چھوٹے اشیاء سے محدود ہیں، کیونکہ وہ طبقات سے مقابلے میں کم اثر انداز ہوتے ہیں. لہذا، اگر آپ اپنے ہی اسٹور کو ڈیزائن کرتے ہیں، تو ساخت بہتر انتخاب ہیں.
کلاس اور وائس ویزا میں ایک ساخت تبدیل کرنے کے لئے کس طرح؟
شاید آپ کو 'باکسنگ' اور 'ان باکسنگ' سنا ہے جو ایک کلاس میں ایک ساخت کو تبدیل کرنے اور اس کے برعکس. اگرچہ یہ تبادلوں میں ہماری مدد کرنے کے لئے مؤثر عمل ہیں، انہیں احتیاط سے سنبھالنا چاہئے. جیسا کہ یہ براہ راست میموری مقامات کو متاثر کرتا ہے، ہمارے نظام کی کارکردگی پر بہت بڑا اثر ہے. اس کے علاوہ، یہ ردی کی ٹوکری جمع کرنے کے عمل کو متاثر کرتی ہے اور نتائج مجموعی نظام میں ناکافی ہے. لہذا، صرف اس وقت جب ان تبادلوں کا استعمال کریں.
ہمیں ٹیبلر شکل میں مندرجہ بالا مندرجہ ذیل اختلافات کو نظر آتے ہیں.
ایس. نہیں