CodeGym /Blog Jawa /Acak /Implementasi ing Jawa
John Squirrels
tingkat
San Francisco

Implementasi ing Jawa

Diterbitake ing grup
Nalika sawetara pirembagan bab paradigma Jawa OOP warisan, padha biasane tegese ngluwihi kelas tiyang sepah karo inheritor, kelas anak. Nanging yen sampeyan nemokake tembung kunci Java sing ngetrapake, tegese kita pindhah menyang tingkat abstraksi liyane lan miwiti nggarap Antarmuka ing Jawa. Kita bakal ngomong babagan apa antarmuka, apa gunane, kepiye implementasine.

Apa antarmuka lan implementasine

Sampeyan mbokmenawa wis krungu tembung "antarmuka" kaping pirang-pirang. Contone, komputer duwe antarmuka input (mouse lan keyboard), akeh program duwe antarmuka panganggo. Ing pangertèn sing paling jembar, antarmuka minangka pranala antarane rong pihak sing sesambungan. Contone, keyboard utawa remot kontrol TV sing padha. Ing pemrograman, lan ing Jawa khususe, antarmuka minangka kontrak khusus sing ngandhani apa sing bakal ditindakake kelas sing bakal ditindakake. Antarmuka mung nemtokake prilaku. Ora ngomong apa-apa bab obyek sing bakal ngleksanakake. Sampeyan bisa ngumumake antarmuka ing Jawa kaya iki:

public interface MyInterface  {

     // constants declaration 
     // methods without implementation
     // static methods
     // default methods (default)
     // private methods
}
Mangkene sintaks Implements ing Jawa:

public class MyClass implements MyInterface{
//implementing the methods of MyInterface 
//Other code
} 
Antarmuka nggambarake prilaku tanpa nemtokake. Contone, prilaku kayata "gerakan" bisa ditrapake kanggo macem-macem obyek: sepedha, wong, mobil, banyu ing kali, lan liya-liyane. Solah bawane nglangi bisa awujud bebek, kapal, utawa iwak. Obyek-obyek iki ora ana sing padha kajaba bisa obah utawa nglangi. Ya, lan gerakan banget karo nglangi padha beda banget. Nanging, ing Jawa sampeyan bisa nggawe kelas Bebek , Prau , Iwak lan supaya bisa nglangi. Iki ngendi tembung kunci Java Implements digunakake.

Ngleksanakake Tuladha tembung kunci


public interface Swimmable {
  
   void moveForward();
   void TurnRight();
   void TurnLeft();
  
}
Kaya sing sampeyan ngerteni, metode kasebut ora ditindakake. Nanging kita ngumumake yen kelas sing ngleksanakake antarmuka iki kudu bisa nglangi ing garis lurus, uga belok nengen lan ngiwa. Ayo nggawe kelas sing bakal ngetrapake antarmuka iki.

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...");
   }
}
Kabeh kelas sing ngleksanakake antarmuka Swimmable , miturut kontrak, kudu bisa nglangi maju (ngleksanakake moveForward () cara), uga nguripake tengen lan kiwa. Implementasi metode kasebut dibutuhake. A bebek lan iwak nglangi beda. Ayo dadi ngomong iwak duwe rong cara tambahan sing ngleksanakake kemampuan kanggo nglangi munggah lan mudhun. Antarmuka Swimmable ora duwe iki. Nanging yen kita nggawe anak saka kelas Fish, contone, Tuna utawa Salmon, padha, kaya saben "Iwak", bakal bisa nglangi munggah lan mudhun.

Multiple Interfaces ing Jawa

Kaya sing wis dingerteni, Jawa ora ndhukung warisan pirang-pirang. Tegese siji kelas mung bisa diwarisake saka siji superclass. Nanging kanthi cara sampeyan isih bisa nggunakake "warisan pirang-pirang" ing Jawa, amarga kelas bisa ngetrapake macem-macem antarmuka.

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
   }
}

Multiple Interfaces Tuladha

Elinga yen bebek ora mung bisa nglangi, nanging uga mabur. Ayo nulis antarmuka penerbangan lan dileksanakake ing bebek kita.

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!!!");
   }

}
Lan maneh, penting kanggo elinga kenapa kita nulis antarmuka kasebut. Contone, yen dileksanakake dening manuk, pesawat, skydiver lan dandelion, penerbangan bakal beda.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION