Jawa

Kelas Abstrak Java

Kelas Abstrak Java
Konsep abstraksi adalah untuk menyoroti tugas objek alih-alih menyoroti, "bagaimana objek melakukan tugas". Jenis konsep ini dapat diimplementasikan dengan menggunakan dua cara di Java. Ini adalah kelas abstrak dan antarmuka. Kelas abstrak berisi kata kunci abstrak. Kelas ini tidak dapat dimulai seperti kelas normal lainnya, tetapi subkelas dapat diturunkan dengan mewarisi kelas abstrak. Fitur dari kelas abstrak dapat diakses dengan membuat objek dari subkelas. Kelas abstrak juga dapat berisi konstruktor yang dapat diakses dengan membuat objek dari kelas subkelas. Bagaimana Anda dapat menggunakan kelas abstrak di Java ditunjukkan dalam tutorial ini.

Sintaksis:

nama kelas kelas abstrak
variabel_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 publik
buku 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 publik
area 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 konstruktor
nomor 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.

Cara Menginstal dan Memainkan Doom di Linux
Pengantar Doom Seri Doom berasal dari tahun 90-an setelah rilis Doom. Itu adalah hit instan dan sejak saat itu seri game telah menerima banyak penghar...
Vulkan untuk Pengguna Linux
Dengan setiap generasi baru kartu grafis, kami melihat pengembang game mendorong batas kesetiaan grafis dan selangkah lebih dekat ke fotorealisme. Tet...
OpenTTD vs Simutrans
Membuat simulasi transportasi Anda sendiri bisa menyenangkan, santai, dan sangat menarik. Itulah mengapa Anda perlu memastikan bahwa Anda mencoba game...