10 Hukum Penting Class Abstract Pada Bahasa Pemrograman Java

Abstraction dalam Java sanggup dicapai dengan memakai class abstract dan interface. Abstraction akan menampilkan fungsionalitas dan menyembunyikan kompleksitas atau dengan kata lain akan menyembunyikan data yang tidak relevan dan hanya akan menunjukkan fitur-fitur penting untuk objek.

Abstraction ini dipakai untuk memisahkan ide-ide dari implementasinya. Makara abstraction akan menerapkan ide-ide pada satu class lalu ide-ide tersebut sanggup diterapkan pada class-class lainnya sesuai dengan kebutuhan dari class-class tersebut.


Abstraction dalam Java sanggup dicapai dengan memakai class abstract dan interface 10 Aturan Penting Class Abstract Pada Bahasa Pemrograman Java


Misalnya:

public abstract class Benda {  /**   Method abstract   */  abstract void bergerak(double jarak, double waktu);   } 

public class Mobil extends Benda {   @Override  void bergerak(double jarak, double waktu) {   double kecepatan = waktu / jarak;   System.out.println("Kecepatan kendaraan beroda empat yakni " + kecepatan);  }  } 

public class Motor extends Benda {   @Override  void bergerak(double jarak, double waktu) {   double kecepatan = waktu / jarak;   System.out.println("Kecepatan motor yakni " + kecepatan);   }  } 

Hal yang perlu diingat bahwa class abstract dan interface yakni dua hal yang tidak lengkap atau tidak konkret (tidak konkrit).

Method abstract ini sanggup dikatakan sebagai ide.
Method abstract tidak mempunyai bodi. Makara mengimplementasikan method abstract artinya memberinya bodi sehingga subclass sanggup memakai method tersebut sesuai dengan yang diinginkan. 

Berikut ini yakni 10 hukum yang perlu diketahui dalam class abstract pada Java.
1. Method abstract tidak sanggup dinyatakan static

Jika method abstract dinyatakan static menyerupai di bawah ini:

public abstract class Benda {    static abstract void bergerak(double jarak, double waktu);  }

Maka compile time error sanggup terjadi.

2. Field dan juga constructor tidak sanggup di deklarasikan sebagai abstract

Contoh:

public abstract class Benda {    /**   field tidak dibolehkan sebagai abstract   */  abstract double berat;    /**   constructor tidak dibolehkan sebagai abstract   */  abstract Benda(){     }  }

3. Access modifier private tidak sanggup dipakai dalam method abstract.

Karena method ini akan diimplementasikan pada subclass, kalau private maka class lain tidak akan sanggup menggunakannya.

Contoh:

public abstract class Benda {    /**   Method abstract dihentikan private   */  private abstract void bergerak(double jarak, double waktu);  } 


4. Konstruktor di dalam class abstract sanggup di buat dengan jumlah sesuai dengan kebutuhan.

Jika constructor tidak dibentuk maka secara otomatis compiler akan menyediakan constructor default.

public abstract class Benda {    /**   Constructor pertama   */  Benda(){     }    /**   Constructor kedua   */  Benda(String nama){     }    /**   Method abstract   */  abstract void bergerak(double jarak, double waktu);  } 


5. Setiap subclass dari class abstract harus mengimplementasikan semua method abstract.

Bila class itu tidak mengimplentasikan method-method tersebut maka class itu harus dinyatakan sebagai abstract.

Contoh:

public abstract class Benda {    /**   Method abstract 1   */  abstract void bergerak(double jarak, double waktu);    /**   Method abstract 2   */  abstract void tampilkanDetail();    /**   Method Abstract 3   */  abstract void berhenti();   } 

public class Mobil extends Benda {   @Override  void bergerak(double jarak, double waktu) {        }   @Override  void tampilkanDetail() {        }   @Override  void berhenti() {        }  }


6. Method pada class abstract sanggup saja terdiri dari kombinasi antara method konkrit dan method abstract.

Contoh:

public abstract class Benda {    /**   Method konkrit   */  void bergerak(double jarak, double waktu){   double kecepatan = jarak / waktu;   System.out.println("Kecepatan yakni " + kecepatan);  }    /**   Method abstract 1   */  abstract void tampilkanDetail();    /**   Method Abstract 2   */  abstract void berhenti();   } 


7. Class abstract tidak sanggup dibentuk objeknya meskipun pada class yang tidak mempunyai method abstract.

Contoh:

public abstract class Benda {    /**  Method abstract 1  */  abstract void bergerak();    /**  Method abstract 2  */  abstract void tampilkanDetail();    /**  Method Abstract 3  */  abstract void berhenti();   }

public class Test {    public static void main(String[] args) {      /**   Class abstract tidak sanggup dibentuk objeknya   */   Benda benda = new Benda();     }  }


8. Meskipun class abstract sanggup mempunyai method abstract dan konkrit di dalamnya, namun setiap class yang mempunyai method abstract walaupun hanya satu saja, harus dinyatakan sebagai class abstract.

Namun, class abstract itu sendiri sanggup saja tidak mempunyai method abstract, contoh:

public abstract class Benda {    /**  Method konkrit  */  void bergerak(double jarak, double waktu){   double kecepatan = jarak / waktu;   System.out.println("Kecepatan yakni " + kecepatan);  }   }


9. Setiap method yang tidak didefinisikan atau tidak diimplementasikan harus dideklarasikan sebagai method abstract.

Selain itu, class yang mempunyai method tersebut juga harus didekalrasikan sebagai class abstract.

Contoh:

class Benda {    /**  Method konkrit  */  void bergerak(double jarak, double waktu){   double kecepatan = jarak / waktu;   System.out.println("Kecepatan yakni " + kecepatan);  }    /**  Method abstract  */  abstract void bersuara();   }

Class Benda harus dinyatakan sebagai abstract sebab mempunyai method abstract bersuara() kalau tidak akan menghasilkan compile time error.

10. Class dan method abstract dideklarasikan memakai keyword abstract dan objek dari class ini tidak sanggup dibuat.

Namun, objek dari subclass-nya sanggup dibentuk asalkan harus menerapkan method abstract tersebut.

Contoh:

abstract class Benda {    /**  Method abstract  */  abstract void bersuara(); }


public class Gitar extends Benda {   @Override  void bersuara() {     } }

public class Test {    public static void main(String[] args) {      /**   Benda benda = new Benda(); Ini tidak sanggup dilakukan.   Class Gitar mengiplementasikan method abstract   sehingga objeknya sanggup dibentuk   */   Gitar gitar = new Gitar();  }  }

Belum ada Komentar untuk "10 Hukum Penting Class Abstract Pada Bahasa Pemrograman Java"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel