CodeGym /جاوا بلاگ /Random-SD /جاوا ۾ لاڳو
John Squirrels
سطح
San Francisco

جاوا ۾ لاڳو

گروپ ۾ شايع ٿيل
جڏهن ڪجهه ڳالهائيندا آهن جاوا او او پي جي وراثت جي پيراڊم جي باري ۾، انهن جو مطلب عام طور تي والدين طبقي کي وارث، ٻارن جي طبقي سان وڌائڻ جو مطلب آهي. تنهن هوندي به جڏهن توهان جاوا امپليڪس ڪي ورڊ ۾ ايندا، ان جو مطلب اهو آهي ته اسان تجريد جي هڪ ٻئي سطح ڏانهن وڃو ۽ جاوا ۾ انٽرفيس سان ڪم ڪرڻ شروع ڪيو. اسان ڳالهائڻ وارا آهيون ته انٽرفيس ڇا آهن، اهي ڇا لاءِ آهن، ڪيئن عمل درآمد ٿئي ٿو.

انٽرفيس ۽ عمل درآمد ڇا آهي

توهان شايد لفظ ”انٽرفيس“ ڪيترائي ڀيرا ٻڌو هوندو. مثال طور، ڪمپيوٽر وٽ هڪ ان پٽ انٽرفيس (ماؤس ۽ ڪي بورڊ) آهي، ڪيترن ئي پروگرامن ۾ يوزر انٽرفيس آهن. وسيع معنى ۾، هڪ انٽرفيس ٻن ڌرين جي وچ ۾ هڪ ڪڙي آهي. مثال طور، ساڳيو ڪيبورڊ يا ٽي وي ريموٽ ڪنٽرول. پروگرامنگ ۾، ۽ خاص طور تي جاوا ۾، هڪ انٽرفيس هڪ مخصوص معاهدو آهي جيڪو چوي ٿو ته اهو طبقو ڇا ڪندو جيڪو ان کي لاڳو ڪندو. هڪ انٽرفيس صرف رويي کي بيان ڪري ٿو. اهو اعتراض بابت ڪجهه نٿو چوي جيڪو ان کي لاڳو ڪندو. توھان ھن طرح جاوا ۾ ھڪڙي انٽرفيس جو اعلان ڪري سگھو ٿا:
public interface MyInterface  {

     // constants declaration
     // methods without implementation
     // static methods
     // default methods (default)
     // private methods
}
هتي جاوا ۾ لاڳو ڪيل نحو آهي :
public class MyClass implements MyInterface{
//implementing the methods of MyInterface
//Other code
}
هڪ انٽرفيس ان جي وضاحت ڪرڻ کان سواءِ رويي کي بيان ڪري ٿو. مثال طور، هڪ رويي جهڙوڪ "حرکت" شين جي مختلف قسمن تي لاڳو ٿي سگهي ٿو: هڪ سائيڪل، هڪ شخص، هڪ ڪار، هڪ درياهه ۾ پاڻي، وغيره. ترڻ جو رويو بتھ، ٻيڙيءَ يا مڇيءَ جو رويو ٿي سگھي ٿو. انهن شين ۾ ان کان سواءِ ٻي ڪا به شيءِ مشترڪ ناهي ته اهي حرڪت يا ترڻ ڪري سگهن. ها، ۽ ترڻ سان تمام گهڻي حرڪت اهي بلڪل مختلف آهن. تنهن هوندي به، جاوا ۾ توهان ٺاهي سگهو ٿا Duck , Boat , Fish classes ۽ انهن کي لاڳو ڪرڻ ڏيو ترڻ جي صلاحيت. هي آهي جتي Java Implements لفظ استعمال ڪيو ويندو آهي.

لفظ لاڳو ڪريو مثال

public interface Swimmable {

   void moveForward();
   void TurnRight();
   void TurnLeft();

}
جئين توهان ڏسي سگهو ٿا، طريقا پاڻ تي عمل نه ڪيا ويا آهن. پر اسان اعلان ڪيو ته طبقن جيڪي هن انٽرفيس کي لاڳو ڪن ٿا انهن کي هڪ سڌي لڪير ۾ ترڻ جي قابل هجڻ گهرجي، انهي سان گڏ ساڄي ۽ کاٻي طرف مڙندا. اچو ته ڪلاس ٺاهيون جيڪي هن انٽرفيس کي لاڳو ڪندا.
public class Duck implements Swimmable {
//implementing the methods
   public void moveForward() {
       System.out.println(" Quack, I am moving forward...");
   }

   public void TurnRight(){
       System.out.println("I am turning right...");
   }
   public void TurnLeft(){
       System.out.println("I am turning left...");

   }

   public void Stop() {
       System.out.println("Quack. I am relaxing on the surface of the water...");
   }

}

public class Fish implements Swimmable {

   public void moveForward() {
       System.out.println("I am moving forward...");
   }

   public void TurnRight(){
       System.out.println("I am turning right...");
   }
   public void TurnLeft() {
       System.out.println("I am turning left...");
   }

   public void turnUp(){
       System.out.println("I am turning up...");
   }

   public void turnDown(){
       System.out.println("I am turning down...");
   }

   public void Stop() {
       System.out.println("I am relaxing somewhere under the water surface...");
   }
}
سڀئي طبقا جيڪي ترڻ جي قابل انٽرفيس کي لاڳو ڪن ٿا، معاهدي جي مطابق، لازمي طور تي اڳتي وڌڻ جي قابل ٿيڻو پوندو ( moveForward() طريقو لاڳو ڪريو، ۽ گڏوگڏ ساڄي ۽ کاٻي طرف مڙندا. انهن طريقن تي عمل ڪرڻ جي ضرورت آهي. بتھ ۽ مڇي مختلف انداز ۾ ترڻ. اچو ته چئو ته مڇيءَ وٽ ٻه اضافي طريقا آهن جيڪي هن جي مٿي ۽ هيٺ ترڻ جي صلاحيت کي لاڳو ڪن ٿا. ترڻ جي قابل انٽرفيس وٽ اهو ناهي. تنهن هوندي به جيڪڏهن اسان مڇيءَ جي طبقي جو ٻار ٺاهيو، مثال طور، ٽونا يا سالمن، اهي، هر ”مڇي“ وانگر، مٿي ۽ هيٺ ترڻ جي قابل هوندا.

جاوا ۾ گھڻن انٽرفيس

جئين توهان شايد اڳ ۾ ئي ڄاڻو ٿا، جاوا ڪيترن ئي ورثي جي حمايت نٿو ڪري. ان جو مطلب اهو آهي ته هڪ طبقو صرف هڪ سپر ڪلاس مان وارث ٿي سگهي ٿو. تنهن هوندي به هڪ طريقي سان توهان اڃا تائين استعمال ڪري سگهو ٿا "گهڻن وراثت" جاوا ۾، ڇاڪاڻ ته هڪ طبقي ڪيترن ئي انٽرفيس کي لاڳو ڪري سگهي ٿو.
To implement multiple interfaces, use the next syntax:
interface MyFirstInterface {
   public void myMethod();
}
interface MySecondInterface {
   public void myOtherMethod();
}

// MyClass implements both MyFirstInterface and MySecondInterface
class MyClass implements MyFirstInterface, MySecondInterface {
   public void myMethod() {
      //method implementation
   }
   public void myOtherMethod() {
     //method implementation
   }
}

گھڻن انٽرفيس جا مثال

ياد رهي ته بت نه رڳو ترڻ، پر اڏامڻ به آهي. اچو ته فلائيٽ انٽرفيس لکون ۽ ان کي اسان جي بتھ ۾ لاڳو ڪريو.
public interface Flyable {
   double startAge = 0.1;
   void fly();
}

public class Duck implements Swimmable, Flyable {

   public void moveForward() {
       System.out.println(" Quack, I am moving forward...");
   }

   public void TurnRight(){
       System.out.println("I am turning right...");
   }
   public void TurnLeft(){
       System.out.println("I am turning left...");

   }

   public void Stop() {
       System.out.println("Quack. I am relaxing on the surface of the water...");
   }

   public void fly(){
       System.out.println("I am flying!!!");
   }

}
۽ ٻيهر، اهو ياد رکڻ ضروري آهي ته اسان انٽرفيس ڇو لکي رهيا آهيون. اچو ته اهو چئو ته جيڪڏهن اهو پکي، هڪ هوائي جهاز، هڪ اسڪائڊائيور ۽ ڊنڊليئن طرفان لاڳو ٿئي ٿو، انهن جي اڏام بلڪل مختلف ٿي ويندي.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION