خلاصہ کلاس اور انٹرفیس زیادہ تر تجرید کے لئے استعمال ہوتے ہیں ، لیکن وہ بہت مختلف ہیں۔ دونوں جاوا کے بنیادی اجزاء ہیں ، لیکن اپنا سافٹ ویئر استعمال کریں۔ دونوں شرائط ایک دوسرے کے مترادف ہوسکتی ہیں ، لیکن وہ تبادلہ نہیں ہوسکتی ہیں۔

دونوں کے مابین اہم اختلافات ہیں۔ اگر انٹرفیس کا طریقہ کار طے شدہ طور پر خلاصہ ہے تو ، تجرید میں تجرید اور تجرید کے دونوں طریقے شامل ہوسکتے ہیں۔ جاوا 8 کے بعد سے ، انٹرفیسس بھی طریقہ کار رہنما خطوط رہے ہیں ، اور ان کے جاوا میں جامد اور معیاری دونوں طریقے ہوسکتے ہیں۔ آئیے ان کو مزید تفصیل سے دیکھیں۔

موجودہ تجریدی کلاس اور جاوا انٹرفیس کے درمیان فرق

جاوا میں ایک تجریدی کلاس کیا ہے؟

جاوا میں ، خلاصہ کلاس ایک ایسی کلاس ہے جسے خلاصہ قرار دیا گیا ہے۔ اس میں خلاصہ طریقے ہو سکتے ہیں یا نہیں۔ یہ جاوا انٹرفیس سے بہت ملتا جلتا ہے ، کیونکہ اس میں معیاری عمل درآمد شامل ہوسکتا ہے۔ آبجیکٹ پر مبنی پروگرامنگ کی طرح ، جاوا میں تجریدات کا نفاذ خلاصی کلاس اور انٹرفیس کے ذریعے کیا جاتا ہے۔ جاوا میں ، تجرید کا مطلب صارف سے معمولی تفصیلات چھپانا ہے ، جبکہ پیچیدگی کو کم کرنا اور کارکردگی کو بہتر بنانے کے لئے صرف اہم تفصیلات پر فوکس کرنا۔ "خلاصہ" کلیدی لفظ کلاس اعلامیے میں کلاس کی ورڈ سے پہلے ایک تجریدی کلاس بنانے کے لئے استعمال ہوتا ہے۔

سمری کلاس میں تجرید کے طریقے (غیر جسمانی طریقے) ہوسکتے ہیں یا نہیں ہوسکتے ہیں ، لیکن اگر کم از کم ایک تجریدی طریقہ موجود ہے تو ، اسے تجریدی قرار دیا جانا چاہئے۔ تاہم ، تجریدی طریقوں کو صرف تجریدی کلاس میں ہی استعمال کیا جاسکتا ہے ، لیکن صرف پہلے سے طے شدہ رویے کے لئے۔ نقطہ نظر کی سطح پر انحصار کرتے ہوئے خلاصے کے طریقوں میں ان پٹ میڈیفائر ، جیسے ذاتی ، عوامی ، جامد اور محفوظ ہوسکتے ہیں۔ اختتامی کلاس تخلیق نہیں کی جاسکتی ہے اور یہ 100 ab تجرید فراہم نہیں کرتی ہے کیونکہ اس کا کوئی خاص طریقہ ہوسکتا ہے۔

انٹرفیس کیا ہے؟

اگرچہ انٹرفیس ایک کلاس کی طرح لگتا ہے ، ایسا نہیں ہے۔ چونکہ جاوا متعدد وراثت کی حمایت نہیں کرتا ہے ، بعض اوقات انٹرفیس کلاس درجہ بندی کی بنیاد فراہم کرنے کے لئے مناسب ہے۔ انٹرفیس ایک ایسا طبقاتی منصوبہ ہے جو جاوا میں تجرید کو حاصل کرنے کے لئے استعمال ہوتا ہے۔ اس میں تجریدی طریقوں اور جامد استحکام پر مشتمل ہے۔ سیدھے الفاظ میں ، انٹرفیس ایک ایسا تجریدی طریقوں کا ایک سیٹ ہے جو اس سلوک کی وضاحت کرنے کے لئے استعمال ہوتا ہے جو ایک کلاس انجام دیتا ہے۔ موجودہ کلاس کے برعکس ، انٹرفیس جاوا میں مکمل تجریدی مہیا کرتا ہے۔ اس میں کلاس کی طرح دونوں طریقے اور تغیرات ہوسکتے ہیں ، لیکن انٹرفیس میں اعلان کردہ طریقے خلاصہ نہیں ہیں۔

موجودہ تجریدی کلاس اور جاوا انٹرفیس کے درمیان فرق

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

خلاصہ کلاس اور جاوا انٹرفیس: ایک موازنہ جدول

جاوا میں خلاصہ کلاس اور انٹرفیس کا خلاصہ

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

حوالہ جات

  • بلوچ ، جوشوا جاوا پروگرامنگ زبان کی ہدایت نامہ۔ بوسٹن: ایڈیسن - ویسلی ، 2001. پرنٹ کریں
  • بلوچ ، جوشوا جاوا پروگرامنگ زبان کی ہدایت نامہ۔ بوسٹن: ایڈیسن - ویسلی ، 2001. پرنٹ کریں
  • فلاگنن ، ڈیوڈ۔ تو جاوا۔ سیبسٹوپول: پیمائش ریلی میڈیا ، 1996۔ پرنٹ
  • ایککل جاوا میں سوچ رہا ہوں۔ دہلی: پیرسن ایجوکیشن انڈیا ، 2006۔ پرنٹ کریں
  • "تصویری کریڈٹ: https://stackoverflow.com/questions/1913098/ what-is-the-differences-between-an-interface-and-abstract-class"