میں خلاصہ کلاس اور انٹرفیس کے درمیان فرق C #

Anonim

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

-1 ->

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

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

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

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

خلاصہ کلاس بمقابلہ انٹرفیس: خلاصہ کلاس اور انٹرفیس کے درمیان سی # ایک سے زیادہ ورثہ

  1. میں ایک کلاس صرف ایک خلاصہ طبقے کا استعمال کرسکتا ہے، لہذا ایک سے زیادہ وراثت کی حمایت نہیں کی جاتی ہے. ایک انٹرفیس، دوسری طرف، ایک سے زیادہ وراثت کی حمایت کر سکتا ہے، جس کا مطلب ہے کہ کسی بھی طبقے میں کسی بھی تعداد میں وراثت کی وراثت ہو سکتی ہے. تعریف
  2. کے خلاصہ کلاس اور انٹرفیس سی # 999 میں> - ایک خلاصہ کلاس ایک خاص قسم کی کلاس ہے جس میں کوئی عمل درآمد نہیں ہوسکتا ہے. عمل درآمد کی منطق اس کے متوقع طبقات کی طرف سے فراہم کی جاتی ہے. اس کے ساتھ ساتھ غیر خلاصہ طریقوں کے خلاصہ بھی ہوسکتے ہیں.ایک انٹرفیس، دوسری طرف، صرف ایک پیٹرن ہے جو کچھ بھی نہیں کر سکتا. تکنیکی طور پر، یہ صرف ایک خالی شیل ہے. لاگو - ایک خلاصہ کلاس میں تعریف اور اس کے عمل دونوں میں شامل ہوسکتا ہے. یہ ایک نامکمل طبقہ ہے جس میں انترنیت نہیں ہوسکتی. ایک انٹرفیس صرف کسی بھی کوڈ کے بغیر فعالیت کی دستخط کر سکتا ہے.
  3. رسائی موڈیفائرز
  4. - ایک خلاصہ طبقہ میں سبس، افعال، خصوصیات، وغیرہ وغیرہ جیسے تک رسائی حاصل کرنے میں بہت سے ترمیم ہوسکتا ہے، جبکہ ایک انٹرفیس کو ترمیم میں ترمیم کرنے کی اجازت نہیں ہے اور تمام طریقوں کو عام طور پر عوامی طور پر بیان کیا جانا چاہئے. حفظان صحت - ایک خلاصہ طبقے اسی قسم، رویے اور حیثیت کے عمل درآمد کے لئے استعمال کیا جاتا ہے، جبکہ انفارمیشن کے لئے ایک انٹرفیس استعمال کیا جاتا ہے جو صرف طریقہ کار کا حصہ ہے.
  5. اعلامیہ - ایک خلاصہ طبقے تمام دوسری کلاسوں کے لئے ایک بیس کلاس کے طور پر کام کرتا ہے لہذا یہ کسی بھی متغیر کا اعلان کرنے کے لئے ایک انٹرفیس کی اجازت نہیں ہے جبکہ یہ اعلان یا کسی بھی متغیر استعمال کر سکتا ہے.
  6. تعمیراتی اعلامیہ - اگرچہ ایک خلاصہ طبقے میں تعمیراتی اعلامیہ ہوسکتی ہے، ایک انٹرفیس کی تعمیر کا اعلان نہیں ہوسکتا ہے.
  7. کور بمقابلہ پردیف - ایک خلاصہ طبقے کو کلاس کے بنیادی شناخت کو وضاحت کرنے کے لئے استعمال کیا جاتا ہے اور اسی ڈیٹا کی چیزوں کی چیزوں کے لئے استعمال کیا جا سکتا ہے. ایک انٹرفیس، دوسری طرف، ایک کلاس کی پردیی صلاحیت کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے.
  8. سخت بمقابلہ Supple - ایک خلاصہ طبقے فعالیت کی شرائط میں کم سے کم ہے، کم از کم کسی ڈویلپر کے نقطہ نظر سے، جبکہ ایک انٹرفیس زیادہ سخت ہے.
  9. خلاصہ کلاس بمقابلہ انٹرفیس: ٹیبل فارم خلاصہ طب

انٹرفیس

خلاصہ کلاس بمقابلہ انٹرفیس: افعال کلاس میں افعال، سبس، اور خصوصیات کے رکن اعلامیہ کے لئے تمام تک رسائی کے نمونے ہوسکتا ہے.

ایک انٹرفیس کو افعال، سبسکرائب، وغیرہ وغیرہ کے ممبر اعلامیے کے لئے رسائی میں ترمیم کرنے کی اجازت نہیں ہے. تمام اراکین کو عام طور پر عوامی طور پر فرض کیا جاتا ہے.

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