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.
Misalnya:
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.
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:
Maka compile time error sanggup terjadi.
2. Field dan juga constructor tidak sanggup di deklarasikan sebagai abstract
Contoh:
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:
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.
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:
6. Method pada class abstract sanggup saja terdiri dari kombinasi antara method konkrit dan method abstract.
Contoh:
7. Class abstract tidak sanggup dibentuk objeknya meskipun pada class yang tidak mempunyai method abstract.
Contoh:
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.
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:
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.
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