Belajar Mengenal Abstract Class di Java


Di postingan sebelumnya yaitu mengenai Interface kita sudah menyinggung sedikit mengenai Abstract Class yaitu tentang perbedaannya dengan Interface.Kalau secara pengertian Abstract Class yaitu class yang dideklarasikan menggunakan keyword abstract didepannya.Abstract Class bisa memiliki method abstract (method tanpa body) dan method concrete (method biasa).Class ini perlu diextends dan methodnya diimplementasikan karena kita tidak bisa menginstansiasikan class ini

Abstract Class dan Interface merupakan cara untuk melakukan abstraksi di java.Abstraksi merupakan proses menyembunyikan detail implementasi dan hanya menampilkan fungsinya saja kepada user.Mudahnya,itu hanya menampilkan hal penting kepada user dan menyembunyikan detail di dalamnya.Contohnya, saat kita melakukan SMS kita tidak tahu bagaimana proses SMS tersebut dikirim yang kita tahu apakah SMS tersebut sudah terkirim atau belum

Poin Penting Abstract Class :


  • Abstract Class dideklarasikan dengan keyword abstract
  • Bisa memiliki abstract dan concrete method
  • Tidak bisa diinstansiasikan
  • Memiliki constructor dan method static juga
  • Bisa memiliki final method yang membuat subclass tidak bisa mengubah body nya
Membuat Abstract Class

abstract class A {}
Membuat Abstract Method

Tidak seperti di Interface yang method didalamnya otomatis menjadi abstract method.Di class abstract,kita perlu menuliskan abstract di depannya untuk menjadikannya abstract method

abstract void cetak();//tidak punya body
Contoh Penggunaan Abstract Class
abstract class java
penggunaan class abstract

Kita membuat abstract class Motor dengan method abstract run() dan method concrete stop().Lalu kita buat class Honda untuk extends ke abstract class Motor lalu kita implementasikan method run() di sana

Dalam main method,kita upcast obyek class Honda ke abstract class Motor (di java = artinya menyimpan ke bagian sebelah kiri sama seperti int a = 6 artinya kita menyimpan 6 ke variabel a) lalu kita panggil method run() dan stop() untuk menghasilkan output di atas








Jangan spam atau promosi di sini jgn juga taruh link aktif kalau mau dapat backlink bisa taruh di profil saja (Name/URL)
EmoticonEmoticon