Abstract Class
Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas. Kelas ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class tidak dapat diinstansiasi secara langsung menjadi object. Suatu abstract class bisa mengandung method kongkrit dan/atau method abstract. Abstract method merupakan suatu method yang tidak mempunyai badan method. Hanya berupa nama method dan parameter inputan method. Ketika suatu abstract class diturunkan/di extends, maka subclass harus mengimplementasikan semua method abstract pada parent/base class. Jika tidak mengimplementasikan semua method abstract maka subclass harus dideklarasikan sebagai abstract class.
Java memiliki aturan-aturan dalam penggunaan method abstrak dan class abstrak sebagai berikut :
1. Class yang didalamnya terdapat abstract method harus dideklarasikan sebagai abstract class
2. Abstract class tidak dapat diinstansi, tetapi harus diturunkan
3. Abstract class tidak dapat diinstansi (menjadi objek dari class abstract), tetapi kita dapat mendeklarasikan suatu variable yang bertipe abstract class dan membuat instansi dari variable tersebut yang bertipe class turunan dari abstract class tersebut (teknik polymorphism)
4. Sebuah class dapat dideklarasikan sebagai abstract class meskipun class tersebut tidak memiliki abstract method
2. Buat file empty java file baru
3. Ketikan source code berikut ini dan simpan dengan nama file Pulau.java
4. Jalankan file Pulau.java tersebut, maka hasilnya adalah sebagai berikut :
2. Ketikan source code berikut ini dan simpan dengan nama file MakhlukHidup.java
3. Buat file empty java file baru
4. Ketikan source code berikut ini dan simpan dengan nama file Manusia.java
5. Buat file empty java file baru
6. Ketikan source code berikut ini dan simpan dengan nama file Hewan.java
7. Buat file empty java file baru
8. Ketikan source code berikut ini dan simpan dengan nama file Tumbuhan.java
9. Buat file empty java file baru
10. Ketikan source code berikut ini dan simpan dengan nama file MainMakhlukHidup.java
11. Jalankan file MainMakhlukHidup.java tersebut, maka hasilnya adalah sebagai berikut :
2. Ketikan source code berikut ini dan simpan dengan nama file BangunDatar.java
3. Buat file empty java file baru
4. Ketikan source code berikut ini dan simpan dengan nama file Lingkaran.java
5. Buat file empty java file baru
6. Ketikan source code berikut ini dan simpan dengan nama file Test.java
7. Jalankan file Test.java tersebut, maka hasilnya adalah sebagai berikut :
Source code nya adalah sebagai berikut :
Kemudian kita jalankan file program tersebut, hasilnya adalah sebagai berikut :
Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas. Kelas ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class tidak dapat diinstansiasi secara langsung menjadi object. Suatu abstract class bisa mengandung method kongkrit dan/atau method abstract. Abstract method merupakan suatu method yang tidak mempunyai badan method. Hanya berupa nama method dan parameter inputan method. Ketika suatu abstract class diturunkan/di extends, maka subclass harus mengimplementasikan semua method abstract pada parent/base class. Jika tidak mengimplementasikan semua method abstract maka subclass harus dideklarasikan sebagai abstract class.
Java memiliki aturan-aturan dalam penggunaan method abstrak dan class abstrak sebagai berikut :
1. Class yang didalamnya terdapat abstract method harus dideklarasikan sebagai abstract class
2. Abstract class tidak dapat diinstansi, tetapi harus diturunkan
3. Abstract class tidak dapat diinstansi (menjadi objek dari class abstract), tetapi kita dapat mendeklarasikan suatu variable yang bertipe abstract class dan membuat instansi dari variable tersebut yang bertipe class turunan dari abstract class tersebut (teknik polymorphism)
4. Sebuah class dapat dideklarasikan sebagai abstract class meskipun class tersebut tidak memiliki abstract method
II. PRAKTIKUM
Praktikum1
1. Buatlah project baru di Netbeans dengan nama Modul7PBO2. Buat file empty java file baru
3. Ketikan source code berikut ini dan simpan dengan nama file Pulau.java
4. Jalankan file Pulau.java tersebut, maka hasilnya adalah sebagai berikut :
Praktikum2
1. Buat file empty java file baru2. Ketikan source code berikut ini dan simpan dengan nama file MakhlukHidup.java
3. Buat file empty java file baru
4. Ketikan source code berikut ini dan simpan dengan nama file Manusia.java
5. Buat file empty java file baru
6. Ketikan source code berikut ini dan simpan dengan nama file Hewan.java
7. Buat file empty java file baru
8. Ketikan source code berikut ini dan simpan dengan nama file Tumbuhan.java
9. Buat file empty java file baru
10. Ketikan source code berikut ini dan simpan dengan nama file MainMakhlukHidup.java
11. Jalankan file MainMakhlukHidup.java tersebut, maka hasilnya adalah sebagai berikut :
Praktikum3
1. Buat file empty java file baru2. Ketikan source code berikut ini dan simpan dengan nama file BangunDatar.java
3. Buat file empty java file baru
4. Ketikan source code berikut ini dan simpan dengan nama file Lingkaran.java
5. Buat file empty java file baru
6. Ketikan source code berikut ini dan simpan dengan nama file Test.java
7. Jalankan file Test.java tersebut, maka hasilnya adalah sebagai berikut :
III. POST TEST
Buatlah program Abstract Class dengan case studi yang berbeda dari praktikum diatasSource code nya adalah sebagai berikut :
Kemudian kita jalankan file program tersebut, hasilnya adalah sebagai berikut :
IV. TUGAS INDIVIDU
Apa perbedaan Abstract dengan Interface, Jelaskan !
Abstract Class
|
Interface
|
Bisa berisi abstract dan non-abstract method.
|
Hanya boleh berisi abstract method.
|
Kita harus menuliskan sendiri modifiernya.
|
Kita tidak perlu susah2 menulis public abstract di depan nama method. Karena secara implisit, modifier untuk method di interface adalah public danabstract.
|
Bisa mendeklarasikan constant dan instance variable.
|
Hanya bisa mendeklarasikan constant. Secara implisit variable yang dideklarasikan di interface bersifatpublic, static dan final.
|
Method boleh bersifat static.
|
Method tidak boleh bersifat static.
|
Method boleh bersifat final.
|
Method tidak boleh bersifat final.
|
Suatu abstact class hanya bisa meng-extend satu abstract class lainnya.
|
Suatu interface bisa meng-extend satu atau lebih interface lainnya.
|
Suatu abstract class hanya bisa meng-extend satu abstract class dan meng-implement beberapa interface.
|
Suatu interface hanya bisa meng-extend interface lainnya. Dan tidak bisa meng-implement class atau interface lainnya.
|
Sekian yang dapat saya sampaikan, Terimakasih :)
Komentar
Posting Komentar