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

Anonim

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

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

خلاصہ کلاس کیا ہے؟

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

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

وراثت کیا ہے؟

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

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

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