Kelas Abstrak di Java dan Metode [Dengan Contoh]

Diterbitkan: 2021-06-18

Artikel berikut akan membahas sifat-sifat abstraksi di Java dan bagaimana hal itu dapat dicapai melalui kelas-kelas abstrak dan metode-metode abstrak. Kami akan menjelajahi fitur kelas abstrak dan antarmuka di java.

Daftar isi

Abstraksi

Salah satu konsep penting Java adalah abstraksi. Ini adalah properti di mana pengguna hanya ditampilkan dengan detail penting dari suatu program. Semua bagian yang tidak penting disembunyikan. Prosesnya dapat dijelaskan melalui contoh email. Pengirim mengirim email yang akan dikirimkan ke penerima. Satu-satunya informasi yang diketahui pengirim adalah bahwa email telah dikirim. Proses latar belakang pengiriman email disembunyikan dari pengguna. Mirip dengan proses dalam Pemrograman Berorientasi Objek (OOP) di mana elemen penting ditampilkan kepada pengguna sementara bagian yang tidak penting disembunyikan. Pengguna tidak memiliki informasi tentang proses implementasi, tetapi hanya fungsionalitas yang diketahui. Mekanisme ini dikenal sebagai abstraksi di mana hanya karakteristik penting dari suatu objek yang ditampilkan sementara mengabaikan karakteristik lainnya.

Di Java, abstraksi dicapai melalui kelas dan antarmuka abstrak.

Kelas abstrak di Jawa

Kata kunci “abstrak” digunakan untuk kelas dan metode abstrak di Java. Kelas abstrak memiliki kata kunci abstrak dalam deklarasinya.

Sintaks kelas abstrak Java adalah:

kelas abstrak class_name

{

abstrak publik batal the_abstractMethod();

publik batal the_normalMethod()

{

#tubuh metode

}

}

Sintaks di atas menunjukkan bahwa metode normal dan abstrak dapat dimuat dalam kelas abstrak.

Beberapa properti dari kelas abstrak adalah:

  • Metode abstrak mungkin ada atau tidak ada di kelas abstrak Java .
  • Kehadiran setidaknya satu metode abstrak dalam sebuah kelas membuat kelas tersebut menjadi kelas abstrak.
  • Kelas abstrak tidak dapat memiliki objek apa pun dan oleh karena itu tidak dapat langsung dipakai.
  • Kelas abstrak hanya dapat digunakan jika diwarisi dari kelas lain dan mengimplementasikan metode abstrak.
  • Implementasi yang tepat dari metode abstrak diperlukan saat mewarisi kelas abstrak.
  • Kedua metode reguler dan abstrak dapat hadir dalam kelas abstrak Java .
  • Konstruktor berparameter mungkin ada dalam kelas abstrak. Juga, kelas abstrak selalu berisi konstruktor default.

Metode abstrak

Metode abstrak adalah jenis metode yang tidak memerlukan implementasi untuk deklarasinya. Metode ini tidak memiliki badan yang berarti tidak ada implementasi. Beberapa properti dari metode abstrak adalah:

  • Metode abstrak di Java dideklarasikan melalui kata kunci “abstrak”.
  • Sedangkan deklarasi metode abstract, kata kunci abstract harus diletakkan sebelum nama metode.
  • Tidak ada tubuh dalam metode abstrak, hanya tanda tangan dari metode yang ada.
  • Metode abstrak di Java tidak memiliki kurung kurawal, tetapi akhir metode akan memiliki titik koma (;)

Metode ganda abstrak (ganda n1, ganda n2);

  • Setiap kelas yang berisi metode abstrak harus dideklarasikan sebagai kelas abstrak. Meskipun kebalikannya mungkin tidak benar yaitu tidak perlu bahwa kelas abstrak harus memiliki metode abstrak.
  • Pewarisan kelas abstrak oleh kelas reguler memerlukan implementasi semua metode abstrak di kelas induk.

Contoh metode abstrak

Mobil kelas abstrak publik

{

model String pribadi;

warna String pribadi;

tahun int pribadi;

harga komputasi ganda abstrak publik();

}

Jika kelas turunan tidak mengimplementasikan metode abstrak, itu akan menghasilkan kelas abstrak yang tidak dapat dipakai.

Beberapa tidak dapat digunakan dengan kata kunci abstrak di Jawa.

  • terakhir
  • asli abstrak
  • abstrak statis
  • abstrak pribadi
  • abstrak disinkronkan
  • abstrak ketatfp

Kode yang menunjukkan penggunaan metode abstrak di Java ditunjukkan di bawah ini.

Sumber

Keluaran dari kode tersebut adalah:

Antarmuka Java

Selain kelas abstrak dan metode abstrak, Java menggunakan antarmuka untuk mencapai abstraksi. Ketika metode terkait dikelompokkan bersama ke dalam badan kosong, maka itu disebut antarmuka. Antarmuka mirip dengan kelas abstrak karena merupakan pengelompokan metode abstrak. Ketika sebuah kelas mengimplementasikan antarmuka, semua metode abstrak dalam antarmuka diwarisi. Antarmuka mungkin juga berisi metode default, konstanta, dan metode statis. Badan metode hanya metode default dan metode statis yang ada. Warisan dan kelas dapat ditulis dengan cara yang sama tetapi kelas dapat menggambarkan atribut dan perilaku objek. Sementara dalam kasus antarmuka hanya perilaku objek yang ada, itu diimplementasikan oleh kelas.

Kelas harus mendefinisikan semua metode antarmuka yang diimplementasikannya. Hanya untuk kelas abstrak, metode tidak perlu didefinisikan oleh kelas.

Antarmuka mirip dengan kelas abstrak Java dengan cara berikut:

  • Sejumlah metode dapat dimuat dalam sebuah antarmuka.
  • Ekstensi .java digunakan untuk menulis antarmuka dalam file. Nama file harus sesuai dengan nama antarmuka.
  • File .class berisi kode byte antarmuka.
  • Antarmuka muncul dalam paket. File bytecode dari sebuah antarmuka hadir dalam direktori dengan nama yang sama dengan nama paket.

Antarmuka berbeda dari kelas abstrak Java dengan cara berikut:

  • Antarmuka tidak dapat dipakai.
  • Tidak ada konstruktor dalam antarmuka.
  • Antarmuka hanya berisi metode abstrak.
  • Tidak ada bidang instance yang ada di antarmuka. Bidang harus dideklarasikan sebagai statis dan final jika harus muncul di antarmuka.
  • Hanya kelas yang dapat mengimplementasikan antarmuka, tetapi tidak dapat diperpanjang.
  • Sebuah antarmuka dapat memperluas beberapa antarmuka.

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

Properti Antarmuka

  • Tidak perlu mendeklarasikan antarmuka sebagai abstrak melalui kata kunci abstract karena secara implisit abstrak.
  • Kata kunci abstrak tidak diperlukan untuk mendeklarasikan metode sebagai abstrak karena secara implisit abstrak.
  • Semua metode dalam antarmuka secara implisit bersifat publik.

Bagaimana cara mendeklarasikan antarmuka?

Kata kunci "antarmuka" digunakan untuk mendeklarasikan antarmuka. Abstraksi total disediakan melalui penggunaan antarmuka. Secara default, semua metode dalam antarmuka abstrak dan publik. Ini berarti tidak ada metode dalam antarmuka dan semua bidang bersifat statis, publik, dan final.

Sintaks antarmuka:

Nama antarmuka_of_the_interface {

# nyatakan bidang

# mendeklarasikan metode abstrak

}

Misalnya antarmuka Player

{

usia int akhir = 40;

int kal();

}

Bagaimana cara mengimplementasikan antarmuka?

Untuk mengimplementasikan antarmuka, kata kunci ' mengimplementasikan' digunakan. Lebih dari satu antarmuka dapat diimplementasikan oleh sebuah kelas. Dalam kasus seperti itu, kata kunci ' implement' diikuti oleh daftar antarmuka yang dipisahkan dengan koma. Kata kunci digunakan dalam deklarasi kelas.

Contoh implementasi antarmuka ditunjukkan di bawah ini:

kelas Maruti mengimplementasikan Mobil

Contoh kode yang menunjukkan implementasi antarmuka di Java ditunjukkan di bawah ini.

Sumber

Kode menghasilkan output berikut:

Kode yang menerapkan implementasi beberapa antarmuka ditunjukkan di bawah ini.

Sumber

Kode menghasilkan output berikut:

Beberapa teks…

Beberapa teks lain…

Mengapa antarmuka digunakan?

  • Antarmuka digunakan untuk mencapai abstraksi total.
  • Warisan berganda di Jawa dapat dicapai melalui penggunaan pewarisan karena Java tidak mendukung banyak pewarisan.
  • Kopling longgar dapat dicapai melalui penggunaan antarmuka.
  • Melalui penggunaan abstraksi implementasi di java dapat dicapai.

Meskipun abstraksi di Java dapat dicapai melalui kelas abstrak Java, antarmuka digunakan karena mengandung variabel final, publik, dan statis. Namun, variabel non-final mungkin ada di kelas abstrak.

Jika antarmuka Java dan kelas abstrak Java digunakan untuk mencapai abstraksi, kapan antarmuka dan kelas abstrak harus digunakan?

  • Kelas abstrak digunakan ketika pengguna perlu mendefinisikan templat untuk sekelompok subkelas.
  • Antarmuka digunakan ketika pengguna perlu mendefinisikan peran untuk kelas lain.

Beberapa keuntungan dari abstraksi adalah:

  • Kompleksitas program berkurang.
  • Ada kemungkinan duplikasi kode yang lebih kecil meningkatkan kegunaan kembali.
  • Keamanan suatu program ditingkatkan melalui penggunaan abstraksi karena hanya beberapa detail yang diberikan kepada pengguna.

Kesimpulan

Artikel tersebut membahas konsep detail abstraksi di Java yang merupakan teknik menyembunyikan informasi yang tidak penting dari pengguna. Di Java, abstraksi dicapai melalui kelas dan antarmuka abstrak. Abstraksi 100% disediakan oleh antarmuka sementara abstraksi parsial disediakan oleh kelas abstrak. Artikel lebih lanjut menyebutkan kapan harus menggunakan antarmuka dan kapan kelas abstrak harus digunakan. Itu juga mencantumkan kesamaan antarmuka dengan kelas abstrak Java dan juga perbedaannya. Tanpa pengetahuan yang diperlukan dari kedua konsep tersebut akan menghasilkan kode yang penuh dengan kekurangan.

Jika Anda lebih tertarik untuk mempelajari lebih lanjut dan menerapkan konsep dalam masalah kehidupan nyata, Anda dapat melihat kursus Magister Ilmu Komputer yang disediakan oleh upGrad dan IIIT-Bangalore yang diakui oleh Liverpool John Moores University . Kursus ini dirancang untuk profesional tingkat pemula (21-45 tahun) yang menyediakan 500+ jam pelatihan dari pakar industri terkemuka dan fakultas rekayasa perangkat lunak. Rincian lebih lanjut dari kursus dapat diperiksa di halaman web resmi upGrad.

Tingkatkan Kemampuan Diri Anda & Bersiaplah untuk Masa Depan

Mendaftar untuk Program PG Eksekutif dalam Pengembangan Perangkat Lunak dari IIIT-B