Advertisement
rafibatam

Interface OOP JAVA

Jan 9th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.39 KB | None | 0 0
  1. 1. Interface adalah method yang classnya harus dijalankan jika mereka memilih untuk melaksanakan interface tersebut. Menjalankan class harus dengan menyediakan kode untuk semua method di dalam interface. Kita tidak bisa memilih method untuk dijalankan. Method di Interface harus di set modifer ke public.
  2. 2. Kelebihan interface =
  3. - Datang dari penggunaannya sebagai tipe data. Sejak interface menjadi sebuah kontrak, kita tidak bisa memberikannya instansi seperti yang bisa kita lakukan pada class. Sebagai gantinya untuk sebuah instansi dari class itu dijalankan dengan Interface.
  4. - Menutupi kekurangan pada java yang hanya memperbolehkan satu kelas saja yang berhak mendapatkan warisan kelas induk (extends).
  5. - Interface dapat di implementasikan lebih dari satu interface pada kelas turunannya.
  6. 3. Kekurangan interface = Ketika sebuah class mengimplementasikan interface, sifat yang terdapat pada interface akan di implementasi kan ke dalam class, jika tidak maka akan terjadi error.
  7. 4. Kapan digunakan interface = Jika ingin mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses Inheritance.
  8. 5. Apa yang dilakukan ketika interface tidak boleh digunakan = Gunakan konsep Abstraction
  9.  
  10. interface Speed {
  11.     public void Start();
  12.     public int changeSpeed(int initialSpeed);
  13.     public int fixedSpeed(double finalSpeed);
  14. }
  15.  
  16. class SportCar implements Speed {
  17.     @Override
  18.     public void Start() {
  19.         System.out.println("Sport Car Maximum Speed :");
  20.     }
  21.    
  22.     @Override
  23.     public int changeSpeed(int initialSpeed) {
  24.         System.out.println("Initial Speed = " + initialSpeed + "km/h");
  25.         return 0;
  26.     }
  27.  
  28.     @Override
  29.     public int fixedSpeed(double finalSpeed) {
  30.         System.out.println("Final Speed = " + finalSpeed + "km/h");
  31.         return 400;
  32.     }
  33. }
  34.  
  35. class HyperCar implements Speed {
  36.     @Override
  37.     public void Start() {
  38.         System.out.println("\nHyper Car Maximum Speed :");
  39.     }
  40.  
  41.     @Override
  42.     public int changeSpeed(int initialSpeed) {
  43.         System.out.println("Initial Speed = " + initialSpeed + "km/h");
  44.         return 0;
  45.     }
  46.  
  47.     @Override
  48.     public int fixedSpeed(double finalSpeed) {
  49.         System.out.println("Final Speed = " + finalSpeed + "km/h");
  50.         return 600;
  51.     }
  52. }
  53.  
  54. public class Main {
  55.     public static void main(String[] args) {
  56.         SportCar a = new SportCar();
  57.         HyperCar b = new HyperCar();
  58.        
  59.         a.Start();
  60.         a.changeSpeed(0);
  61.         a.fixedSpeed(399.9);
  62.         b.Start();
  63.         b.changeSpeed(0);
  64.         b.fixedSpeed(599.9);
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement