Abstract class dan Interface pada java

Kelas Abstract

Suatu kelas dapat  diinstansiasi menjadi obyek. Misalnya kelas Segiempat dapat diinstansiasi menjadi Keliling dan Luas. Namun tidak semua kelas dapat diinstansiasikan, contohnya kelas MahlukHidup karena kelas ini
terlalu umum(abstract). Ok saya akan perjelas mengenai  kelas abstract ini. Jika kita ingin menginstansiasikan sebuah obyek, misalnya saja Bergerak dan Melihat. Sedangkan pada kenyataannya tidak semua mahluk hidup melihat dan bergerak, karena tumbuhan juga termaksud maklup hidup. Kelas seperti inilah yang disebut kelas abstract. Untuk menginstansiasikanya, maka kita membutuhkan kelas turunan, agar dapat membuatnya menjadi lebih spesifik. Dan yang pasti kelas turunan tersebut haruslah hingga menjadi sebuah kelas yang lebih nyata.

Jika dianalogikan maka akan seperti berikut ini : Jika kelas MahlukHidup mempunyai method Bernapas, maka tidak dapat ditentukan apakah mahlup hidup tersebut bernapas dengan paru-paru, insang, atau stomata. Jadi kita membutuhkan kelas turunan yang lebih abstract untuk mengintansiasikanya.




Interface

Interface merupakan kelas yang paling abstract, hanya berisi daftar deklarasi method, artinya semua method belum mempunyai implementasi.  Sebagai analoginya akan saya gambarkan sebagai berikut.  Dalam kehidupan nyata, terdapat manusia yang bekerja sebagai guru, petani, sapam, pedagang dan lain-lain. Misalkan saja Terdapat kelas Pak Dony, maka kelas ini akan diturunkan dari kelas manusia, namun harus mengimplementasikan sebuah kelas lagi (yang haruslah merupakan sebuah interface sebab java hanya mendukung sebuah induk kelas untuk setiap kelas). Jadi kelas PakDony merupakan implemen dari kelas Guru (jika dia merupakan seorang guru).

Syarat sebuah interface :

1. Tidak memiliki atribute (hanya memiliki konstanta)
2. Tidak memiliki obyek (tidak ada instansiasi)
3. Tidak memiliki modifier static
4. Tidak extends dari kelas lain namun boleh extends dari interface lain bahkan boleh extends ke lebih dari
    satu interface lain.
5. Tidak implemen dari kelas lain.


So...? Sudah mengertikah kalian beda dari keduanya...? Semoga dapat membantu ya...



by : Ibnea, Dedy

1 komentar:

Posting Komentar