Rangkuman tentang Interface dan Abstract Class – JAVA

Ini adalah rangkuman yang saya terjemahkan dari buku HeadFirst JAVA – 2nd edition. Semoga Bermanfaat….

  • Ketika kita tidak ingin sebuah class dipakai (dengan kata lain, kita tidak ingin seseorang membuat sebuah object baru dari class tersebut) maka tandai class tersebut dengan kata abstract.
  • Sebuah Abstract Class dapat memiliki dua jenis method, Abstract dan non-Abstract Method.
  • Jika sebuah class mempunyai satu abstract Method, class tersebut haruslah ditandai dengan kata abstract.
  • Sebuah Abstract Method tidak mempunyai “badan”, dan deklarasinya diakhiri dengan titik-koma (bukan tanda kurung-keriting).
  • Semua Abstract Method haruslah diimplementasikan di concrete sub-class pertama di dalam pohon Turunan.

Untitled contoh pohon turunan  (Inheritance Tree)

  • Setiap class di Pemrograman JAVA secara langsung atau tidak langsung merupakan sub-class dari class Object (java.lang.Object – Super-Class).
  • Method-method dapat dideklarasikan dengan Argument Object dan/atau tipe return (nilai kembalian).
  • Kita dapat memanggil method pada sebuah Object hanya jika method berada di dalam class (atau interface) tersebut digunakan sebagai tipe referensi variable, bagaimanapun bentuk tipe objectnya. Jadi, sebuah referensi variable dari tipe Object bisa digunakan hanya untuk memanggil method-method yang didefinisikan di dalam Class Object, bagaimanapun tipe Object yang ditunjuk referensi. Perlu dikertahui, referensi variabel berlaku seperti sebuah Remote Control yang menunjuk Object. remote Control tersebut memiliki tombol, Tombol mewakili sebuah Method dari objek yang ditunjuk oleh Referensi (Remote Control).
  • Sebuah referensi Variabel  dari tipe Object tidak dapat ditugaskan ke tipe referensi lainnya tanpa sebuah cast (sebuah objek di dalam tanda kurung biasa). Sebuah cast bisa digunakan untuk menugaskan sebuah referensi variable ke salah satu tipe, tapi pada saat dijalankan (run) cast akan gagal jika object pada lingkaran BUKAN tipe yang cocok dengan cast.

Contoh: // Dog d= (Dog) x.getObject(aDog);

  • Semua objek yang “keluar / dipanggil” dari sebuah ArrayList<Object> sebagai tipe Object (berarti, objek2 tersebut bisa direferensikan hanya dengan sebuah Object Referensi Variabel, kecuali kita menggunakan sebuah cast).
  • Turunan (class) yang lebih dari satu tidak diperbolehkan dalam JAVA, karena masalah2 yang berhubungan dengan istilah “Deadly Diamond of Death”. Hal itu berarti kita hanya bisa meng-EXTEND satu class (misalnya, kita hanya bisa di”BAWAHI” oleh satu SUPERCLASS).
  • Sebuah Interface seperti sebuah Abstract Class murni 100%. Class yang memiliki Interface hanya mendefinisikan sebuah Abstract Method.
  • Cara membuat sebuah interface ialah dengan menggunakan kata interface menggantikan kata class.
  • Implementasi sebuah interface menggunakan kata implements
  • Contoh: Dog implements Pet
  • Kelasmu dapat mengimplementasikan interface yang lebih dari satu.
  • Sebuah class yang mengimplementasikan sebuah interface HARUS mengimplementasikan semua method dari interface, karena semua method dari interface adalah secara implicit merupakan public (dapat diakses oleh class lain) dan abstract.
  • Untuk meminta method versi Superclass dari sebuah subclass yang meng-Override method, dapat menggunakan kata kunci super.Contoh: super.runReport();
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s