JavaRush /جاوا بلاگ /Random-SD /ڇو انٽرفيس جي ضرورت آهي؟

ڇو انٽرفيس جي ضرورت آهي؟

گروپ ۾ شايع ٿيل
ڇو انٽرفيس جي ضرورت آهي؟ انٽرفيس وراثت ڇو ضروري آهي؟ پوليمورفيزم جي ضرورت ڇو آهي؟ انھن لاءِ جن پڙھيو ۽ سمجھيو ته انٽرفيس ڪيئن ٺاھيو، پر سمجھ ۾ نه آيو ڇو.

ڊسڪليمر: هن مضمون ۾ ۽ بعد ۾، ڪلاس ۽ طريقن جا نالا روسي ۾ ڏنا ويندا.

جڏهن اهو اعتراض تي مبني پروگرامنگ (OOP) جي اصولن تي اچي ٿو: پوليمورفيزم، وراثت، ۽ encapsulation، اهو استعمال ڪرڻ لاء ڪارائتو آهي حقيقي دنيا جي قياس. OOP جو وڏو فائدو اهو آهي ته اسان پروگرام ۾ حقيقي ڪائنات جو حصو ٺاهي سگهون ٿا. اچو ته ماڊل Ivanov خاندان: پيء ، ماء ۽ ڇوڪرو Petya . پيءُ وٽان ، پيٽيا کي چانهه پيئڻ وقت ٿلها هڻڻ جي عادت ورثي ۾ ملي هئي، ۽ ماءُ کان، هن کي پڙهڻ دوران چپن کي ڇڪڻ جي عادت ورثي ۾ ملي هئي. جيڪڏهن اسان هن صورتحال کي پروگرام ۾ لاڳو ڪرڻ جي ڪوشش ڪنداسين، اسان ٽن طبقن سان ختم ڪنداسين:
class Папа
class Мама
class Петя
پيءُ ۽ ماءُ جون عادتون آهن جن کي پيٽ تي منتقل ڪرڻ جي ضرورت آهي . عادتون ڪجھه قسم جا عمل آھن - تنھنڪري انھن کي سافٽ ويئر جي دنيا ۾ طريقن سان لاڳو ڪرڻ بھتر آھي: Dad First :
class Папа {
public void прихлюпывать() {
System.out.println("Хлюп");
    }
}
هاڻي ماءُ :
class Мама {
public void поджимать() {
System.out.println("Поджать губки");
   }
}
جيڪڏهن اسان وراثت جي باري ۾ ڳالهائي رهيا آهيون، پوء اهو منطقي آهي ته هن طرح ڪوڊ لکڻ لاء:
class Петя extends Папа, Мама {
@Override
public void прихлюпывать() {
     System.out.println("Хлюп");
   }

@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
اهو آهي، هڪ ئي وقت ۾ پيء ۽ ماء کان Petya ورثي ۾ . جيڪڏهن توهان ان کي هن طرح لکندا آهيو، مرتب ڪندڙ شڪايت ڪندو ڇو ته جاوا ڪيترن ئي طبقي ورثي کي لاڳو نٿو ڪري سگهي. رستي ۾، اهو ممڪن آهي C++ ۾، پر جاوا ۾ نه، ڇاڪاڻ ته وڏيون مسئلا ڪيترن ئي ورثي سان پيدا ٿي سگهن ٿيون: اهي انٽرنيٽ تي تفصيل سان لکندا آهن . هن "ناممڪن" جي چوڌاري حاصل ڪرڻ لاء، جاوا انٽرفيس آهي. ۽ عادتن لاء اسان کي اسان جي پنهنجي انٽرفيس سان ايندي. جيتوڻيڪ ٻه: اهي هن طرح نظر ايندا: ڇو انٽرفيس جي ضرورت آهي؟  - 1
public interface ПривычкиПапы {
    public void прихлюпывать();
}
public interface ПривычкиМамы {
    public void поджимать();
}
انٽرفيس ۾، اسان صرف عادتن کي بيان ڪيو، پر بيان نه ڪيو ته اهي خاص طور تي ڇا ڪندا آهن، ڇو ته اسان ڪلاس ۾ مخصوص عمل کي لکنداسين. پهرين، اچو ته بابا ۽ ماء کي انهن جي قانوني عادتون ڏيو.
class Папа implements ПривычкиПапы {

   @Override
    public void прихлюпывать() {
     System.out.println("Хлюп");
   }
}

class Мама implements ПривычкиМамы{

@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
۽ هاڻي، اهو بلڪل قانوني آهي ته هڪ ئي وقت ۾ پيء ۽ ماء کان پيٽ ڏانهن عادتون منتقل ڪرڻ لاء
class Петя implements ПривычкиПапы, ПривычкиМамы {

@Override
public void прихлюпывать() {
     System.out.println("Хлюп");
   }

@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
اھو آھي، جاوا ۾ گھڻن عمل درآمد (وڌيڪ اڪثر عمل درآمد سڏيو ويندو آھي) بلڪل ممڪن آھي. ڇو انٽرفيس جي ضرورت آهي؟  - 2انٽرفيس جو مطلب ھاڻي واضح ٿيڻ گھرجي - جاوا ۾، توھان انٽرفيس استعمال ڪندي گھڻن ورثي کي لاڳو ڪري سگھو ٿا. جيڪڏهن اسان صورتحال کي اڳتي وڌايو، مثال طور: سڀ کان پوء، پيء ۽ ماء شايد عادتون آهن جيڪي اهي پيٽيا ڏانهن نه ويا آهن ، ۽ پيٽيا کي شايد هن جون ذاتي عادتون آهن. توهان سکندا ته ڪيئن هن اهم سانتا باربرا کي جاوا جهاز ڏانهن منتقل ڪيو وڃي هيٺين قسطن ۾. انٽرفيس کي سمجهڻ لاءِ هي واحد مثال نه آهي. جيڪڏهن توهان هيٺ ڏنل مضمون نه پڙهيا آهن، ته پوءِ ضرور پڙهو: جاوا ۾ انٽرفيس (جيڪڏهن نه کليل هجي، ته توهان پنهنجي پروفائل مان ٻاهر نڪري سگهو ٿا يا انڪوگنٽو موڊ ۾ پڙهي سگهو ٿا) انٽرفيس جي ضرورت ڇو آهي. جاوا - هتي آرٽيڪل مان سڀني مثالن تي عمل ڪريو ۽ طريقن کي تبديل ڪريو ٻنهي انٽرفيس ۽ ڪلاسن ۾: طريقن جا نالا، دستخط (جيڪو طريقو ان پٽ طور وٺندو آهي)، طريقن جا آئوٽ پٽ قسم. پنهنجو پاڻ کي سمجھو: - فرق جڏهن انٽرفيس کي ڪلاس ۽ خلاصي طبقي سان لاڳو ڪرڻ؛ - ڊفالٽ طريقا.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION