CodeGym /Blog Java /rawak /Melaksanakan di Jawa
John Squirrels
Tahap
San Francisco

Melaksanakan di Jawa

Diterbitkan dalam kumpulan
Apabila sesetengah orang bercakap tentang paradigma warisan Java OOP, mereka biasanya bermaksud melanjutkan kelas induk dengan pewaris, kelas anak. Walau bagaimanapun, apabila anda menjumpai kata kunci pelaksanaan Java, ini bermakna kami beralih ke tahap abstraksi yang lain dan mula bekerja dengan Antara Muka dalam Java. Kami akan bercakap tentang apakah antara muka, untuk apa ia, bagaimana pelaksanaan berlaku.

Apakah antara muka dan pelaksanaan

Anda mungkin pernah mendengar perkataan "antara muka" berkali-kali. Sebagai contoh, komputer mempunyai antara muka input (tetikus dan papan kekunci), banyak program mempunyai antara muka pengguna. Dalam erti kata yang luas, antara muka ialah penghubung antara dua pihak yang berinteraksi. Contohnya, papan kekunci atau alat kawalan jauh TV yang sama. Dalam pengaturcaraan, dan dalam Java khususnya, antara muka ialah kontrak khusus yang menyatakan perkara yang akan dilakukan oleh kelas yang melaksanakannya. Antara muka hanya mentakrifkan tingkah laku. Ia tidak mengatakan apa-apa tentang objek yang akan melaksanakannya. Anda boleh mengisytiharkan antara muka dalam Java seperti ini:

public interface MyInterface  {

     // constants declaration 
     // methods without implementation
     // static methods
     // default methods (default)
     // private methods
}
Berikut ialah sintaks Implements dalam Java:

public class MyClass implements MyInterface{
//implementing the methods of MyInterface 
//Other code
} 
Antara muka menerangkan tingkah laku tanpa menyatakannya. Sebagai contoh, tingkah laku seperti "pergerakan" boleh digunakan pada pelbagai jenis objek: basikal, seseorang, kereta, air di sungai, dan sebagainya. Tingkah laku berenang boleh menjadi tingkah laku itik, kapal, atau ikan. Objek ini tidak mempunyai persamaan selain ia boleh bergerak atau berenang. Ya, dan pergerakan dengan berenang mereka sangat berbeza. Walau bagaimanapun, di Jawa anda boleh mencipta kelas Itik , Bot , Ikan dan biarkan mereka melaksanakan keupayaan untuk berenang. Di sinilah kata kunci Java Implements digunakan.

Laksanakan Contoh kata kunci


public interface Swimmable {
  
   void moveForward();
   void TurnRight();
   void TurnLeft();
  
}
Seperti yang anda lihat, kaedah itu sendiri tidak dilaksanakan. Tetapi kami mengisytiharkan bahawa kelas yang melaksanakan antara muka ini mesti boleh berenang dalam garis lurus, serta belok kanan dan kiri. Mari buat kelas yang akan melaksanakan antara muka 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 melaksanakan antara muka Boleh Renang , mengikut kontrak, mesti boleh berenang ke hadapan (melaksanakan kaedah moveForward() ), serta belok kanan dan kiri. Pelaksanaan kaedah ini diperlukan. Itik dan ikan berenang berbeza. Katakan ikan mempunyai dua kaedah tambahan yang melaksanakan keupayaannya untuk berenang ke atas dan ke bawah. Antara muka Boleh Renang tidak mempunyai ini. Walau bagaimanapun, jika kita mencipta anak kelas Ikan, contohnya, Tuna atau Salmon, mereka, seperti setiap "Ikan", akan dapat berenang ke atas dan ke bawah.

Pelbagai Antara Muka di Jawa

Seperti yang anda mungkin sedia maklum, Java tidak menyokong pelbagai warisan. Ini bermakna satu kelas boleh diwarisi daripada satu superclass sahaja. Walau bagaimanapun, anda masih boleh menggunakan "warisan berbilang" dalam Java, kerana kelas boleh melaksanakan berbilang antara muka.

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

Contoh Antara Muka Berbilang

Ingat bahawa itik bukan sahaja boleh berenang, tetapi juga terbang. Mari tulis antara muka penerbangan dan laksanakan dalam itik kami.

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, adalah penting untuk mengingati sebab kami menulis antara muka. Katakan jika ia dilaksanakan oleh burung, kapal terbang, skydiver dan dandelion, penerbangan mereka akan berbeza sama sekali.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION