Kelas Abstrak di Jawa – Dengan Contoh

Diterbitkan: 2022-06-24

Abstraksi data adalah teknik menyembunyikan informasi tertentu dan hanya menampilkan detail yang diperlukan kepada pengguna. Abstraksi data ini dapat dicapai dengan dua cara, kelas abstrak dan antarmuka.

Daftar isi

Apa itu Kelas Abstrak di Jawa?

Kelas abstrak di Java adalah kelas terbatas yang terbungkus atau dideklarasikan dengan kata kunci abstrak. Kelas abstrak dapat memiliki metode abstrak dan non abstrak. Itu tidak dapat digunakan untuk membuat objek. Untuk mengakses kelas abstrak, itu harus diwarisi dari kelas lain.

Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Aturan Kelas Abstrak

  • Kelas abstrak hanya dapat dideklarasikan dalam kata kunci abstrak.
  • Itu dapat berisi metode abstrak dan non-abstrak.
  • Itu juga dapat memiliki metode akhir.
  • Itu tidak pernah bisa dipakai.
  • Konstruktor dan metode statis juga dapat digunakan.

Contoh Kelas Abstrak:

kelas abstrak B{}

Metode Abstrak di Jawa

Metode ini hanya dapat digunakan dalam kelas abstrak dan tidak mengandung badan. Tubuh akan disediakan oleh subclass yang diwarisi.

Contoh dari metode abstrak adalah:

abstrak batal printStatus(); //tidak ada badan metode dan abstrak

Contoh kelas Abstrak Java dengan Metode Abstrak

Dalam contoh berikut, mobil adalah kelas abstrak dengan satu metode abstrak, jalankan. Implementasinya disediakan oleh kelas, Audi.

mobil kelas abstrak{

abstrak batal menjalankan();

}

kelas Audi4 memperluas Sepeda{

void run(){System.out.println("berjalan lancar");}

public static void main(String args[]){

Obj mobil = Audi4 baru();

obj.run();

}

}

Output dari program akan "berjalan dengan baik".

Dalam kebanyakan kasus, kelas implementasi tetap tidak diketahui (abstraksi data), dan objek dari kelas implementasi diperoleh melalui metode pabrik.

Metode yang mengembalikan instance kelas disebut metode pabrik.

Contoh Kelas Abstrak Java dengan Metode Pabrik

Dalam contoh berikut, membuat instance kelas persegi, metode draw() dari kelas Persegi akan dimulai.

bentuk kelas abstrak{

penarikan batal abstrak();

}

//Dalam skenario nyata, implementasi disediakan oleh orang lain yaitu, tidak diketahui oleh pengguna akhir

kelas Persegi memperluas Bentuk{

void draw(){System.out.println("menggambar Kotak");}

}

kelas Circle1 memperluas Bentuk{

void draw(){System.out.println("menggambar segi enam");}

}

//Dalam skenario nyata, metode dipanggil oleh programmer atau pengguna

kelas TestAbstraction1{

public static void main(String args[]){

Bentuk s=new Circle1();//Dalam skenario nyata, objek disediakan melalui metode, misalnya metode getShape()

s.draw();

}

}

Output dari program di atas adalah "menggambar segi enam".

Kursus & Artikel Populer tentang Rekayasa Perangkat Lunak

Program Populer
Program PG Eksekutif dalam Pengembangan Perangkat Lunak - IIIT B Program Sertifikat Blockchain - PURDUE Program Sertifikat Keamanan Siber - PURDUE MSC dalam Ilmu Komputer - IIIT B
Artikel Populer Lainnya
Gaji Cloud Engineer di AS 2021-22 Gaji Arsitek Solusi AWS di AS Gaji Pengembang Backend di AS Gaji Pengembang Front End di AS
Gaji pengembang web di AS Pertanyaan Wawancara Scrum Master pada tahun 2022 Bagaimana Memulai Karir di Keamanan Cyber ​​pada tahun 2022? Pilihan Karir di AS untuk Mahasiswa Teknik

Kapan Kelas Abstrak harus digunakan di Jawa?

Di bawah ini adalah beberapa skenario di mana kelas abstrak dapat digunakan:

  • Ketika mencoba untuk memperkenalkan konsep pewarisan dalam kode (untuk berbagi kode di antara berbagai kelas yang relevan) dengan menggunakan metode umum dari kelas dasar.
  • Ketika persyaratannya spesifik dan detail implementasinya tidak lengkap.
  • Ketika kelas yang digunakan untuk memperluas kelas abstrak memiliki beberapa bidang atau metode umum yang memerlukan pengubah non-publik.
  • Ketika metode non-final atau non-statis digunakan untuk mengubah status objek.

Kapan menggunakan Antarmuka di Java untuk Abstraksi?

Skenario berikut memerlukan antarmuka Java untuk mencapai abstraksi:

  • Untuk mendukung fungsi dari banyak pewarisan
  • Untuk mencapai kopling longgar

Mendeklarasikan Antarmuka

Antarmuka harus dideklarasikan hanya dengan kata kunci antarmuka. Ini menghasilkan abstraksi total sehingga semua metode pewarisan dideklarasikan dalam badan kosong, dan semua bidang menjadi publik, statis, dan final sebagai default. Kelas yang mengimplementasikan antarmuka harus mengimplementasikan semua metode yang dideklarasikan di antarmuka.

Contoh Antarmuka Java

Dalam contoh di bawah, antarmuka yang dapat dicetak hanya memiliki satu metode yang implementasinya disediakan di kelas A6.

antarmuka dapat dicetak{

batal cetak();

}

kelas A6 mengimplementasikan yang dapat dicetak{

public void print(){System.out.println(“Selamat datang”);}

public static void main(String args[]){

A6 obj = A6 baru();

obj.print();

}

}

Keluaran dari program tersebut adalah

Selamat datang.

Contoh 2:

antarmuka Bank{

float rateOfInterest();

}

kelas BOI mengimplementasikan Bank{

public float rateOfInterest(){mengembalikan 8.5f;}

}

kelas CUB mengimplementasikan Bank{

public float rateOfInterest(){return 9.2f;}

}

kelas TestInterface2{

public static void main(String[] args){

Bank b=BOI baru();

System.out.println(“ROI: “+b.rateOfInterest());

}}

Output dari program di atas adalah

ROI: 8.5

Keuntungan Abstraksi di Java

  • Kopling longgar: Abstraksi di Java membantu kopling longgar dengan mengurangi entitas dependen pada tingkat eksponensial.
  • Kode yang dapat digunakan kembali: Kelas abstrak di Java adalah penghemat waktu yang hebat. Metode abstrak dapat dipanggil hanya jika diperlukan. Kelas abstrak menghindari penulisan ulang kode yang sama, sehingga menghemat waktu.
  • Perlindungan data: Abstraksi data di Java membantu menyembunyikan detail kode sensitif dari pengguna. Ini membantu dalam menyembunyikan fitur proyek penting dan hanya menampilkan komponen penting.
  • Pemecahan masalah yang lebih cepat: Dengan bantuan resolusi metode dinamis, berbagai masalah dan komplikasi dapat diselesaikan dengan menggunakan hanya satu metode abstrak.

Untuk mempelajari lebih lanjut tentang abstraksi data di Java dan pengembangan perangkat lunak, daftarkan diri di Program Pascasarjana Eksekutif dalam Pengembangan Perangkat Lunak yang ditawarkan oleh IIIT Bangalore bekerja sama dengan upGrad.

Program Pascasarjana Eksekutif dalam Pengembangan Perangkat Lunak adalah program online 13 bulan. Kurikulum dirancang khusus untuk para profesional yang bekerja untuk fokus belajar tanpa menyerah pada pekerjaan mereka. Kurikulum mencakup proyek berbasis industri dan studi kasus. Selain itu, program ini memiliki lebih dari 10 sesi langsung dari pakar industri untuk membantu para kandidat tetap mengikuti tren terkini di industri.

Bisakah kita memiliki kelas abstrak tanpa metode abstrak?

Ya. Dimungkinkan untuk memiliki kelas abstrak tanpa metode abstrak karena keduanya merupakan teknik independen. Mendeklarasikan kelas abstrak menyiratkan bahwa itu tidak dapat dipakai sendiri dan hanya dapat dilakukan dengan bantuan subkelas. Mendefinisikan metode abstrak berarti metode tersebut didefinisikan atau terkandung dalam subclass.

Mengapa abstraksi data penting?

Ya. Dimungkinkan untuk memiliki kelas abstrak tanpa metode abstrak karena keduanya merupakan teknik independen. Mendeklarasikan kelas abstrak menyiratkan bahwa itu tidak dapat dipakai sendiri dan hanya dapat dilakukan dengan bantuan subkelas. Mendefinisikan metode abstrak berarti metode tersebut didefinisikan atau terkandung dalam subclass.

Bagaimana abstraksi data berbeda dari abstraksi kontrol?

Abstraksi data adalah proses pembuatan tipe data yang kompleks dan rumit tetapi hanya menyoroti atau mengungkapkan detail penting. Abstraksi kontrol adalah proses yang berhubungan dengan bagian perangkat lunak dari abstraksi. Ini adalah proses di mana program dipecah atau disederhanakan, dan detail eksekusi program yang tidak diinginkan disembunyikan. Abstraksi kontrol terutama digunakan untuk menghasilkan fungsionalitas baru dan memadukan berbagai pernyataan kontrol ke dalam satu entitas.