Sintaksis:
nama kelas kelas abstrakvariabel_nama;
metode abstrak1();
metode publik2()
pernyataan 1… N
Kelas abstrak dapat berisi atribut atau variabel, metode abstrak, dan metode normal atau salah satunya of. Tetapi subkelas dari kelas abstrak hanya dapat mengimplementasikan metode abstrak dari kelas abstrak.
Contoh-1: Kelas abstrak dengan metode publik
Contoh berikut menunjukkan bagaimana Anda dapat mendeklarasikan kelas abstrak dengan metode publik dan cara menggunakan kelas abstrak dengan membuat subkelas. Di sini, kelas abstrak berisi metode publik bernama rincian() yang diimplementasikan di dalam kelas abstrak. Objek subkelas dibuat untuk mengakses metode publik dari kelas abstrak abstract.
//Mendefinisikan kelas abstrak dengan metode publikbuku kelas abstrak
detail kekosongan publik()
Sistem.di luar.println("Nama Buku: Belajar PHP dalam 15 menit");
Sistem.di luar.println("Nama Penulis : Jake Wright");
Sistem.di luar.println("Harga Diskon : Rp35");
//Tentukan subkelas
class php memperluas buku
//kelas utama
kelas abstrak1
public static void main(String[] args)
php bk = php baru();
bk.rincian();
Keluaran:
Output berikut akan muncul setelah menjalankan kode:. Di sini, rincian() metode kelas abstrak dipanggil, dan teks dicetak dari metode.
Contoh-2: Kelas abstrak dengan metode abstrak dan metode publik
Contoh berikut menunjukkan bagaimana kelas abstrak dapat dideklarasikan dengan variabel, metode abstrak, dan metode publik. Pernyataan metode publik didefinisikan di dalam kelas abstrak, tetapi isi metode abstrak kosong yang diimplementasikan di dalam subkelas dari kelas abstrak. Di sini, dua subkelas dideklarasikan dengan memperluas kelas abstrak. Subclass bernama kotak akan menghitung dan mencetak luas persegi berdasarkan nilai tidak variabel. Subclass bernama empat persegi panjang akan menghitung dan mencetak luas persegi panjang berdasarkan nilai h dan w variabel. Metode publik, bacaData() dipanggil oleh parameter bernama Tipe untuk mengidentifikasi variabel mana dari kelas abstrak yang akan diinisialisasi. Nilai dari Tipe variabel akan menjadi 1 untuk menginisialisasi nilai tidak dan 2 untuk menginisialisasi nilai h dan w.
//Mendefinisikan kelas abstrak dengan metode abstrak dan metode publikarea kelas abstrak
int publik n, h, w;
hasil batal abstrak();
public void readData(tipe int)
jika (ketik == 1)
n = 10;
lain
j = 20;
w = 30;
//Tentukan subkelas persegi square
kelas persegi memperluas area
hasil batal publik()
//Menghitung luas persegi
int luasVal = n*n;
Sistem.di luar.println("Luas persegi adalah " + luasVal);
//Mendefinisikan subclass persegi panjang
kelas persegi panjang memperluas area
hasil batal publik()
//Menghitung luas persegi panjang
int luasVal = h*w;
Sistem.di luar.println("Luas persegi panjang adalah " + luasVal);
//kelas utama
kelas abstrak2
public static void main(String[] args)
//Buat objek dari kelas persegi
persegi persegi = persegi baru();
persegi.bacaData(1);
persegi.hasil();
//Buat objek dari kelas persegi panjang
persegi panjang rq = persegi panjang baru();
rq.bacaData(2);
rq.hasil();
Keluaran:
Output berikut akan muncul setelah menjalankan kode:. Outputnya menunjukkan luas persegi di mana nilai tidak aku s 10 dan luas persegi panjang dengan nilai h aku s 20, dan nilai w aku s 30.
Contoh-3: Kelas abstrak dengan konstruktor
Contoh berikut menunjukkan bagaimana konstruktor dapat dideklarasikan dan digunakan dalam kelas abstrak:. Konstruktor kelas abstrak akan menginisialisasi nilai-nilai Sebuah dan b. Metode abstrak, maksimal() diimplementasikan dalam subclass bernama temukan Maks. super() metode ini digunakan dalam konstruktor subclass untuk memanggil konstruktor dari kelas abstrak. Metode abstrak maksimal() akan mengetahui nilai maksimal dua bilangan yang akan diberikan pada parameter konstruktor subclass pada saat pembuatan objek.
//Mendefinisikan kelas abstrak dengan konstruktornomor kelas abstrak
//deklarasikan variabel
int akhir yang dilindungi a, b;
//konstruktor kelas abstrak
nomor publik(int x,int y)
ini.a = x;
ini.b = y;
//Metode publik
abstrak publik batal maxval();
//Tentukan subkelas
class findMax memperluas angka
//Konstruktor subkelas
public findMax(int x,int y)
//Panggil konstruktor kelas abstrak
super(x,y);
//Menerapkan metode abstrak
public void maxval()
jika (a > b)
Sistem.di luar.println(a + " lebih besar dari " + b);
lain
Sistem.di luar.println(b + " lebih besar dari " + a);
//kelas utama
kelas abstrak3
public static void main(String[] args)
//Buat objek dari subkelas
findMax fmax = new findMax(34,89);
//Temukan maksimum
fmax.maksimal();
Keluaran:
Output berikut akan muncul setelah menjalankan skrip:. Sini, 34 dan 89 diberikan sebagai nilai parameter konstruktor. Nilai-nilai ini dibandingkan dalam metode abstrak yang diimplementasikan di subkelas dan mencetak pesan berikut:.
Kesimpulan:
Kelas abstrak digunakan untuk membuat program lebih terorganisir dan dapat dimengerti. Beberapa kelas terkait dapat dikelompokkan dengan menggunakan kelas abstrak. Konsep dan implementasi kelas abstrak dengan bagian yang berbeda dijelaskan dalam tutorial ini dengan menggunakan contoh sederhana. Saya harap para pembaca dapat memahami penggunaan kelas abstrak dan menerapkannya dalam kode mereka dengan benar setelah membaca tutorial ini.