1. Abstract (Sesuatu yang masih belum jelas)
Abstract class adalah class yang mempunyai setidaknya satu abstract method. Abstact class digunakan untuk mendefinisikan sifat-sifat dari kelas tertinggi. Abstract method adalah method yang tidak memiliki body (hanya deklarasi method). Implementasi dari isi abstract method tersebut dilakukan pada subclass. (*.unknown, Pemrograman Berbasis Obyek, 4, Adi S.Kom, Bahasa Pemrograman II, 19). abstract class tidak bisa diinstansiasi, tetapi diimplementasikan oleh subclass, baru subclass diinstansiasi menjadi object.
Contoh penulisan abstract method : public abstract void metoda();
Contoh :
public abstract class MakhlukHidup{
public void makan() {
System.out.println("nyummy…");
}
/*
method di bawah ini harus dioverride oleh subclassnya...
subclass-nya mengimplementasikan method ini :)
*/
public abstract void jalan();
}
class Manusia extends MakhlukHidup{
/*
modifier method jalan harus public
agar bisa mengoverride method abstract jalan
pada abstract class MakhlukHidup
*/
public void jalan(){
System.out.println("berdiri tegap...");
}
}
class Animal extends MakhlukHidup{
/*
modifier method jalan harus public
agar bisa mengoverride method abstract jalan
pada abstract class MakhlukHidup
*/
public void jalan(){
System.out.println("berdiri tidak tegap...");
}
}
/ ** Testing …. **/
class TestAbstract{
public static void main(String args[]){
Manusia andi = new Manusia();
andi.makan();
andi.jalan();
Animal kucing = new Animal();
kucing.makan();
kucing.jalan();
}
}
Ketika di compile dan di running, hasilnya :
F:\data samson\My Dedication\kumpulanmodul\Java>javac TestAbstract.java
F:\data samson\My Dedication\kumpulanmodul\Java>java TestAbstract
nyummy…
berdiri tegap...
nyummy…
berdiri tidak tegap...
2. Interface (abstractnya abstract)
Interface ibarat menandatangi kontrak. (JEDI,Java Interface, 10). Semua method yang ada dalam interface bersifat abstract. Subclass dari interface harus mendefinisikan semua abstract method yang ada di interface.
interface Orang{
void lakukanSesuatu();
}
interface Student extends Orang{
void lakukanExtraSesuatu();
}
interface Pekerja{
void lakukanJob();
}
public class PencariIlmu implements Student,Pekerja{
public void lakukanSesuatu(){
System.out.println("makan, tidur ...");
}
public void lakukanExtraSesuatu(){
System.out.println("belajar...");
}
public void lakukanJob(){
System.out.println("mengerjakan tugas...");
}
public static void main(String args[]){
System.out.println("Object toni....");
PencariIlmu toni = new PencariIlmu();
toni.lakukanSesuatu();
toni.lakukanExtraSesuatu();
toni.lakukanJob();
}
}
Hasil kompilasi dan run program
F:\data samson\My Dedication\kumpulanmodul\Java>javac PencariIlmu.java
F:\data samson\My Dedication\kumpulanmodul\Java>java PencariIlmu
Object toni....
makan, tidur ...
belajar...
mengerjakan tugas...
Dalam kode di atas, pencari ilmu menentukan sendiri cara mengimplementasi method-method yang ada pada kelas Student dan kelas Pekerja. Kita bisa saja membuat kelas lain yang bisa mengimplementasikan method-method dari kelas Student dan Pekerja secara berbeda, makanya,
interface diibaratkan menandatangani kontrak, misalnya, setiap manusia me-lakukan sesuatu, setiap Student lakukanExtraSesuatu, setiap pekerja lakukanJob, hanya saja, cara melakukan sesuatu tersebut dilakukan terserah kelas yang berisi implementasi dari interface-interface yang diimplementasikan. Jika digambar menggunakan class diagram, akan terbentuk seperti berikut :
Label:
Java Moklet
Abstract vs Interface
Zacky Andritera
Sabtu, 03 Desember 2011
Langganan:
Posting Komentar (Atom)
Labels
- Attitude (1)
- Java (3)
- Java Moklet (19)
- JAVA Project (4)
Blog Archive
Popular Posts
-
Tujuan Pada modul ini, Anda akan belajar bagaimana mengendalikan events triggered ketika user berinteraksi dengan aplikasi GUI Anda. Setel...
-
Pada postingan sebelumnya, kita telah membahas cara membuat IPK Counter tanpa tampilan antarmuka grafis (GUI), kali ini kita akan membuat ...
-
Bagi temen2 programmer Java yang ingin menggunakan enkripsi SHA-1, namun tidak tau bagaimana caranya, saya akan membuat metode sendiri unt...
-
Inner Class adalah suatu Class yang didefinisikan di dalam Class lain. Dengan kata lain, Inner Class adalah anggota (member) dari Class la...
-
1. Abstract (Sesuatu yang masih belum jelas) Abstract class adalah class yang mempunyai setidaknya satu abstract method. Abstact class digu...
-
Secara luas dengan hash value 128-bit. MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, MD4. ...
-
Ingin tahu apa saja sih GUI Toolkit yang terdapat pada bahasa pemrograman Java ? Sudah pernah mencoba menggunakan IDE seperti NetBeans at...
-
Kelas dan Object Kelas dapat didefinisikan sebagai template/blue-print untuk membuat object. Kelas Pembuatan object dari kelas dikenal den...
-
Pada postingan sebelumnya, saya telah memberikan tutorial mengenai teknik looping pada Java, sekarang saya akan memberikan tutorial bagaim...
-
Apa itu swing java ? Swing Java adalah salah satu pemrograman berbasis GUI(Graphical User Interface) di Java. Sesungguhnya di Java ter...
Diberdayakan oleh Blogger.
0 komentar:
Posting Komentar