CodeGym /Java Blog /Acak /Menerapkan di Jawa
John Squirrels
Level 41
San Francisco

Menerapkan di Jawa

Dipublikasikan di grup Acak
Ketika beberapa orang berbicara tentang paradigma pewarisan Java OOP, mereka biasanya berarti memperluas kelas induk dengan pewaris, kelas anak. Namun ketika Anda menemukan kata kunci Java implements, itu berarti kita pindah ke level abstraksi lain dan mulai bekerja dengan Antarmuka di Java. Kita akan berbicara tentang apa itu antarmuka, untuk apa mereka, bagaimana implementasi terjadi.

Apa itu antarmuka dan implementasi

Anda mungkin sering mendengar kata "antarmuka". Misalnya, komputer memiliki antarmuka input (mouse dan keyboard), banyak program memiliki antarmuka pengguna. Dalam arti luas, antarmuka adalah penghubung antara dua pihak yang berinteraksi. Misalnya, remote control keyboard atau TV yang sama. Dalam pemrograman, dan khususnya di Java, antarmuka adalah kontrak khusus yang menyatakan apa yang akan dilakukan oleh kelas yang mengimplementasikannya. Antarmuka hanya mendefinisikan perilaku. Itu tidak mengatakan apa-apa tentang objek yang akan mengimplementasikannya. Anda dapat mendeklarasikan antarmuka di Java seperti ini:

public interface MyInterface  {

     // constants declaration 
     // methods without implementation
     // static methods
     // default methods (default)
     // private methods
}
Berikut adalah sintaks dari Implements di Java:

public class MyClass implements MyInterface{
//implementing the methods of MyInterface 
//Other code
} 
Antarmuka menggambarkan perilaku tanpa menentukannya. Misalnya, perilaku seperti "gerakan" dapat diterapkan pada berbagai jenis objek: sepeda, orang, mobil, air di sungai, dan sebagainya. Perilaku berenang bisa berupa perilaku bebek, kapal, atau ikan. Benda-benda ini tidak memiliki kesamaan selain dapat bergerak atau berenang. Ya, dan gerakan berenang mereka sangat berbeda. Namun, di Jawa Anda dapat membuat kelas Duck , Boat , Fish dan membiarkan mereka mengimplementasikan kemampuan berenang. Di sinilah kata kunci Java Implements digunakan.

Menerapkan Contoh kata kunci


public interface Swimmable {
  
   void moveForward();
   void TurnRight();
   void TurnLeft();
  
}
Seperti yang Anda lihat, metode itu sendiri tidak diterapkan. Namun kami mendeklarasikan bahwa kelas yang mengimplementasikan antarmuka ini harus dapat berenang dalam garis lurus, serta berbelok ke kanan dan ke kiri. Mari buat kelas yang akan mengimplementasikan antarmuka ini.

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...");
   }
}
Semua kelas yang mengimplementasikan antarmuka Swimmable , sesuai dengan kontrak, harus dapat berenang ke depan (mengimplementasikan metode moveForward() ), serta belok kanan dan kiri. Implementasi metode ini diperlukan. Bebek dan ikan berenang dengan cara yang berbeda. Katakanlah seekor ikan memiliki dua metode tambahan yang mengimplementasikan kemampuannya untuk berenang ke atas dan ke bawah. Antarmuka Swimmable tidak memiliki ini. Namun jika kita membuat anak dari kelas Ikan, misalnya Tuna atau Salmon, mereka, seperti setiap "Ikan", akan dapat berenang ke atas dan ke bawah.

Beberapa Antarmuka di Jawa

Seperti yang mungkin sudah Anda ketahui, Java tidak mendukung pewarisan berganda. Artinya, satu kelas hanya bisa diwariskan dari satu superkelas saja. Namun dengan cara tertentu Anda masih bisa menggunakan "multiple inheritence" di Java, karena sebuah kelas dapat mengimplementasikan banyak 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
   }
}

Beberapa Contoh Antarmuka

Ingatlah bahwa bebek tidak hanya bisa berenang, tetapi juga terbang. Mari tulis antarmuka penerbangan dan implementasikan di 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!!!");
   }

}
Dan sekali lagi, penting untuk diingat mengapa kita menulis antarmuka. Katakanlah jika diterapkan oleh burung, pesawat terbang, penerjun payung, dan dandelion, penerbangan mereka akan sangat berbeda.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION