Abstraksi di Jawa | Kelas &Metode Abstrak dengan Contoh
Apa itu Abstraksi di Java?
Abstraksi dalam JAVA hanya menampilkan atribut penting dan menyembunyikan detail objek yang tidak perlu dari pengguna. Di Java, abstraksi dilakukan dengan menggunakan kelas Abstrak, metode Abstrak, dan Antarmuka. Abstraksi membantu mengurangi kerumitan dan upaya pemrograman.
Dalam tutorial ini, Anda akan belajar-
Apa itu Kelas Abstrak?
Apa itu Metode Abstrak?
Contoh Kode Abstrak
Kelas Abstrak di Java
Kata Kunci Terakhir di Java
Apa itu Kelas Abstrak?
KELAS ABSTRAK adalah tipe kelas di Java, yang mendeklarasikan satu atau lebih metode abstrak. Kelas-kelas ini dapat memiliki metode abstrak serta metode konkret. Kelas normal tidak dapat memiliki metode abstrak. Kelas abstrak adalah kelas yang berisi setidaknya satu metode abstrak. Kita dapat memahami konsep dengan contoh bentuk di java .
Perhatikan hierarki kelas berikut yang terdiri dari kelas Bentuk yang diwarisi oleh tiga kelas Persegi Panjang, Lingkaran, dan Segitiga. Kelas Bentuk dibuat untuk menyimpan atribut dan metode umum yang digunakan bersama oleh tiga kelas Persegi Panjang, Lingkaran, dan Segitiga. countArea() adalah salah satu metode yang dibagikan oleh ketiga kelas anak dan ada di kelas Shape.
Sekarang, anggap Anda menulis kode untuk membuat objek untuk kelas yang digambarkan di atas. Mari kita amati bagaimana objek ini akan terlihat di dunia nyata.
Sebuah objek dari kelas persegi panjang akan memberikan sebuah persegi panjang, sebuah bentuk yang biasa kita amati dalam kehidupan sehari-hari.
Sebuah objek dari segitiga kelas akan memberikan segitiga, lagi-lagi bentuk umum sehari-hari.
Tapi seperti apa objek Bentuk Kelas di dunia praktis ??
Jika Anda mengamati kelas Shape berfungsi dalam tujuan kami untuk mencapai pewarisan dan polimorfisme. Tapi itu tidak dibangun untuk dipakai. Kelas tersebut dapat diberi label Abstrak . Kelas java abstrak tidak dapat dipakai.
Sintaks:
abstract class Shape{
// code
}
Ada kemungkinan bahwa Anda TIDAK memberi label kelas Shape sebagai Abstrak dan kemudian membuat instance-nya. Tetapi objek seperti itu tidak akan berguna dalam kode Anda dan akan membuka ruang untuk kesalahan potensial. Karenanya ini tidak diinginkan.
Apa itu Metode Abstrak?
METODE ABSTRAK di Jawa, adalah metode yang hanya memiliki definisi metode tetapi tidak mengandung implementasi. Sebuah metode tanpa tubuh dikenal sebagai Metode Abstrak. Itu harus dideklarasikan dalam kelas abstrak. Metode abstrak tidak akan pernah final karena kelas abstrak harus mengimplementasikan semua metode abstrak.
Seperti yang kita ketahui, rumus untuk menghitung luas persegi panjang, lingkaran, &segitiga berbeda. Metode calcArea() harus ditimpa oleh kelas-kelas yang mewarisi. Tidak masuk akal mendefinisikannya di kelas Shape, tetapi kita perlu memastikan bahwa semua kelas yang mewarisi memiliki metode.
Metode tersebut dapat diberi label abstrak.
Sintaks:
abstract public void calculateArea();
Untuk metode abstrak, tidak diperlukan penerapan. Hanya tanda tangan metode yang ditentukan.
Contoh Kode Abstrak
abstract class Shape{
abstract void calculateArea();
}
class guru99 extends Shape{
void calculateArea(){System.out.println("Area of Shape");}
public static void main(String args[]){
Shape obj = new guru99();
obj.calculateArea();
}
}
Kelas Abstrak di Java:Poin Penting
Kelas abstrak mungkin juga memiliki metode konkret (lengkap).
Untuk tujuan desain, sebuah kelas dapat dideklarasikan abstrak meskipun tidak mengandung metode abstrak
Referensi dari kelas abstrak dapat menunjuk ke objek dari sub-kelasnya sehingga mencapai polimorfisme run-time Contoh:Shape obj =new Rectangle();
Sebuah kelas harus diberi label abstrak, jika memiliki satu atau lebih metode abstrak.
Kata Kunci Terakhir di Java
Pengubah terakhir berlaku untuk kelas, metode, dan variabel. Arti final bervariasi dari konteks ke konteks, tetapi ide dasarnya sama.
Kelas final tidak dapat diwariskan
Variabel akhir menjadi konstanta dan nilainya tidak dapat diubah.
Metode terakhir tidak dapat diganti. Ini dilakukan untuk alasan keamanan, dan metode ini digunakan untuk pengoptimalan.
Contoh :- Untuk mempelajari kata kunci abstrak &akhir
Langkah 1) Salin kode berikut ke dalam Editor.
abstract class Shape{
final int b = 20;
public void display(){
System.out.println("This is display method");
}
abstract public void calculateArea();
}
public class Rectangle extends Shape{
public static void main(String args[]){
Rectangle obj = new Rectangle();
obj.display();
//obj.b=200;
}
//public void calculateArea(){}
}
Langkah 2) Simpan , Kompilasi &Jalankan kode.
Langkah 3) Kesalahan =? Metode abstrak tidak diimplementasikan ke dalam kelas Rectangle. Untuk memperbaiki masalah, batalkan komentar pada baris #15.
Langkah 4) Batalkan komentar pada baris # 13 . Simpan &Kompilasi kode.
Langkah 5) Kesalahan =? variabel b sudah final
Aturan Metode Abstrak
Metode abstrak tidak memiliki implementasi; hanya memiliki tanda tangan metode
Jika sebuah kelas menggunakan metode abstrak, mereka harus dideklarasikan sebagai abstrak. Kebalikannya tidak mungkin benar. Ini berarti bahwa kelas abstrak tidak harus memiliki metode abstrak.
Jika kelas reguler meng-extend kelas abstrak, maka kelas tersebut harus mengimplementasikan semua metode abstrak dari induk abstrak