Saturday, July 26, 2014

Abstract Class dan Interface

Abstract Class dan interface

Abstract Class
Definisi class :
class adalah blueprint/rancangan yang belum diinstansiasi menjadi objek, sehingga jika kita ingin membuat objek maka instansiasikan sebuah kelas. Tetapi pada kenyataannya, tidak semua kelas dapat diinstansiasi.
Contoh kasus nyata, misal ada seorang desainer pakaian mendesain kameja batik bertangan panjang, maka desain tersebut bisa dibuatkan bajunya oleh desainer tersebut. Adapun kameja yang dibuat pasti sesuai dengan desain yang sudah dibuat. sehingga tujuan seorang desainer mendesain baju adalah untuk dibuatkan bajunya.
Contoh kasus nyata lainnya adalah misal seorang pelukis melukis sebuah pemandangan. Tujuan seorang pelukis tersebut membuat gambar bukanlah untuk dibuatkan bendanya, karena seorang manusia tidak mungkin bisa membuat gunung, sawah, pepohonan, dll. Artinya pemandangan merupakan gambar yang tidak mungkin derealisasikan/diinstansiasikan.

Deklarasi Abstract Class :
Untuk cara mendeklarasikan kelas abstrak adalah dengan mencantumkan kata kunci abstract sebelum mencantumkan kata kunci class. Sedangkan didalam kelas abstrak tersebut terdapat deklarasi metode abstrak dan metode kongkrit.
Contoh format pendeklarasian kelas abstrak :
abstract class {


}
Contoh pengaplikasian abstract kelas :
public abstract class BangunDatar{
public abstract double luas();
public abstract void keliling(double x, double y);
}

Interface
Definisi Interface :
Interface dalam bahasa java bukanlah "tampilan", tetapi interface sendiri merupakan sebuah konsep OOP dalam bahasa java.
Contoh kasus nyata, ikatan seorang ibu dan anak. Sang anak terikat dengan aturan dari sang ibu. misalnya sang ibu memiliki aturan seperti ini, "jam 8 malam, semua anak harus belajar setiap harinya". Konsep seperti ini merupakan konsep pewarisan kelas pada umumnya. Dimana sang anak terikat oleh aturan dari sang induk.
Contoh kasus nyata lainnya adalah anak-anak sekolah yang sedang belajar. siapakan orang tua mereka ? Jawaban yang jelas, orang tua masing-masing murid mungkin ada yang sama, tetapi mayoritas berbeda-beda. Tapi mengapa mereka harus repot melakukan aturan yang sama ? Tiap hari para murid harus bersekolah. Murid-murid tersebut satu sama lain tidak ada hubungan saudara, tetapi mereka terikat oleh aturan yang sama. Konsep inilah yang dimaksud dengan konsep interface.
Kesimpulannya, interface adalah blok yang berisikan kumpulan metode kosong (tanpa badan). Dimana, ketika sebuah kelas mengimplementasikan interface, maka kelas tersebut tidak ada hubungan hirarki dengan interface yang diimplementasi. Sehingga, kegunaan interface adalah mengikat aturan kepada kelas-kelas, tampa terhubung dengan konsep pewarisan.

Deklarasi interface :
Cara mendeklarasikan interface adalah dengan mencantumkan kata kunci interface sebelum mencantumkan NamaInterface. Sedangkan didalam interface tersebut hanya terdapat deklarasi metode kosong saja. Berikut format pendeklarasian interface :
interface {


}
Contoh :
public interface IntfCoba {
int atribut1=10;
public double atribut2 = 20.1;
void metode1(inta, double b);
public void metode2(String x, String y);
}
Note : Interface memang diijinkan untuk mendeklarasikan atribut. Tetapi dalam konsep OOP yang baik, interface seharusnya memiliki metode kosong interface saja.

 Penggunaan interface :
Interface haruslah diimplementasi oleh kelas biasa, ini berfungsi untuk meng-override metode yang ada dalam kelas interface.
gunakan kata kunci implements untuk mengimplementasi interface.
Berikut format deklarasi kelas implements :
class implements {




Contoh Soal :
1. Jelaskan perbedaan kelas abstrak dan interface !

No comments:

Post a Comment

Untuk bertanya seputar postingan kami diblog ini silahkan tanya di fb fanpage kami ..

Note: Only a member of this blog may post a comment.