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
-
Beberapa hari terakhir ini, gw ditanyain terus tentang caranya connect java swing ke jasper report. Dan konyolnya, gw juga udah lupa caran...
-
Pada postingan sebelumnya, kita telah membahas cara membuat IPK Counter tanpa tampilan antarmuka grafis (GUI), kali ini kita akan membuat ...
-
Tujuan Pada modul ini, Anda akan belajar bagaimana mengendalikan events triggered ketika user berinteraksi dengan aplikasi GUI Anda. Setel...
-
Seorang programmer tentu sudah terbiasa memandang suatu aplikasi ataupun kelas dan interface referensi (API) sebagai suatu modul yang terbun...
-
1. Static (satu-satunya*) Selama ini, yang kita ketahui adalah suatu variabel atau method diasosiasikan dan diakses melalui suatu instance ...
-
1. Abstract (Sesuatu yang masih belum jelas) Abstract class adalah class yang mempunyai setidaknya satu abstract method. Abstact class digu...
-
buat koneksiin java dengan database mysql pertama-tama kita buat dulu class java dengan nama DatabaseConnection, Ingat, nama class gak bole...
-
Kelas anonimous merupakan kelas yang dideklarasikan tanda nama, biasanya kelas ini dibuat ketika mendeklarasikan sebuah variabel. Contoh ...
-
Apa itu swing java ? Swing Java adalah salah satu pemrograman berbasis GUI(Graphical User Interface) di Java. Sesungguhnya di Java ter...
-
“ Swing ” adalah nama kode dari proyek yang mendevelop komponen baru . Bukan merupakan nama resmi . Namun nama ini lebih seri...
Diberdayakan oleh Blogger.
0 komentar:
Posting Komentar