کلاس اور ساختوں کے درمیان فرق

Anonim

کلاس بمقابلہ ساختہ جات

آبجیکٹ ویرانٹینٹ (او او) پروگرامنگ کی زبانوں میں سے کچھ اہم تصورات کو انحصار، وراثت اور پولیمورفمم ہیں. کلاس اور ساخت دو OO تعمیرات / اوزار ہیں، جس میں پروگرامرز کی مدد سے زیادہ سے زیادہ OO پروگرامنگ زبانوں میں ان تصورات کو حاصل کرنے میں مدد ملتی ہے (جاوا نے ڈھانچے مہیا نہیں کیا). کلاس حقیقی دنیا کی اشیاء کی خلاصہ نمائندگی ہیں. اساتذہ اسی طرح کے استعمال کے ساتھ کلاسز کے ساتھ بہت ہی ملتے جلتے ہیں، لیکن کلاسوں کے مقابلے میں کچھ حدود موجود ہیں. کلاس اور ڈھانچے دونوں کے ساتھ مل کر اسی قسم کے اعداد و شمار کے گروپ کے ساتھ استعمال کیا جاتا ہے.

کلاس کیا ہیں؟

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

ساختہ کیا ہیں؟

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

کلاس اور ساخت کے درمیان کیا فرق ہے؟

اگرچہ، دونوں پروگراموں کی زبانوں میں کلاس اور ڈھانچہ اسی طرح کے تعمیرات ہیں، وہ ٹھیک ٹھیک اختلافات ہیں. عام طور پر، طبقے ساخت کی توسیع ہے، اور اس وجہ سے ڈھانچے میں کچھ رشتہ دار حدود ہیں. مثال کے طور پر، ڈھانچے کو C ++ میں کلاسز کے طور پر بھی سمجھا جا سکتا ہے، لیکن اراکین کو کلاسوں میں ڈیفالٹ کی طرف سے عوامی نہیں ہے (ساختہ کاروں کے برعکس).اصل میں یہ مطلب ہے کہ آپ C ++ میں مناسب رسائی کے نمونے کا استعمال کرتے ہوئے بالکل اسی خصوصیات کے ساتھ ایک کلاس اور ایک ڈھانچہ کی وضاحت کرسکتے ہیں. تاہم سی میں، ڈھانچے میں کسی بھی افعال یا اضافی آپریشن نہیں ہوسکتی ہے. مطلوبہ الفاظ کی کلاس اور ڈھانچے کو ایک کلاس اور ایک ڈھانچے کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے، C ++ میں क्रमशः. جب یہ بات آتی ہے. نیٹ زبانوں (سی #، وی بی. نیٹ، وغیرہ)، کلاس ایک ریفرنس کی قسم ہے، جبکہ ساخت ایک قدر کی قسم ہے. اور عام طور پر، ڈھانچے کو چھوٹے اشیاء کے لئے استعمال کیا جاتا ہے، لیکن طبقات بڑے پیمانے پر اشیاء کے لئے استعمال کیے جاتے ہیں جو طویل مدت تک میموری میں رکھے جاتے ہیں.