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

Anonim

جغرافیہ بمقابلہ ساختہ

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

وراثت کیا ہے؟

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

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

ساخت کیا ہے؟

مختلف قسم کی اشیاء کے رکن کے اعداد و شمار کے طور پر مختلف طبقات کی اشیاء پر مشتمل ایک کلاس کی تشکیل ہے. مثال کے طور پر، کلاس A کلاس میں ب کی حیثیت سے ایک رکن کے طور پر شامل ہوسکتا ہے. یہاں، بی میں بیان کردہ تمام عام طریقوں (یا افعال) کلاس کے اندر عملدرآمد کی جا سکتی ہیں. کلاس A کنٹینر بن جاتا ہے، جبکہ کلاس B متقابل کلاس بن جاتا ہے. مرکب کو کنٹینرشپ بھی کہا جاتا ہے. اس مثال میں، یہ کہا جاسکتا ہے کہ کلاس کلاس سے تعلق رکھتا ہے. OOP میں، ساخت "ایک" تعلقات "کی نمائندگی کرتا ہے. یہ نوٹ کرنا ضروری ہے کہ اگرچہ کنٹینر کو موجود طبقے کے تمام عام طریقوں پر عملدرآمد کرنے کی ضرورت ہے، تو یہ اضافی فعالیت کو تبدیل کرنے یا تبدیل کرنے کے قابل نہیں ہے. جب یہ ایک حقیقی دنیا کی پروگرامنگ کے مسئلے پر آتا ہے، کلاس ٹیکس کی کسی چیز کی کلاس کلاس میں شامل ہوسکتی ہے، اور اس طرح یہ کہا جا سکتا ہے کہ فارم میں ٹیکسٹ بکس (یا متبادل طور پر، فارم ٹیک ٹیک بکس سے تیار ہے).

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

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