Dalam teknologi java terutamanya dibina dengan konsep oops Abstraksi juga salah satu konsep oops(sistem pengaturcaraan berorientasikan objek) ditandakan sebagai proses menyembunyikan data iaitu ia tidak akan ditunjukkan beberapa butiran tetapi ia akan dipaparkan dengan skrin pengguna hanya untuk maklumat berkaitan yang berkaitan dengan data tersembunyi. Abstraksi dalam java kita boleh menggunakan konsep ini dengan bantuan "kelas abstrak dan antara muka" kedua-dua jenis ini akan digunakan dalam java masa yang sama atau berdasarkan keperluan pengguna kita boleh menggunakan mana-mana jenis kadang-kadang kedua-dua proses akan digunakan dalam program.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks
Abstraksi akan digunakan untuk dua jenis sintaks berbeza yang digunakan dalam program java.
import packages; abstract class names { -----some logic codes--- } interface names { ----Some logic codes---- }
Kod di atas ialah sintaks asas untuk abstraksi yang boleh digunakan dalam atur cara java. Apabila kita menggunakan kelas abstrak ia akan menggunakan kedua-dua kaedah abstrak dan bukan abstrak tetapi antara muka hanya menerima kaedah bukan abstrak. Mereka mempunyai beberapa perbezaan yang sama antara kedua-dua konsep ini.
Dalam Abstraksi, ia menyembunyikan butiran yang tidak diingini dalam objek java ia hanya menunjukkan maklumat yang relevan tentang subjek yang kebanyakannya dibandingkan dengan antara muka koleksi java yang dipanggil peta dalam antara muka peta ia mempunyai kelas terbitan seperti peta hash ia akan menyimpan pasangan nilai utama dalam data pengguna menggunakan beberapa kaedah seperti kaedah get() dan put() untuk menyimpan dan mendapatkan semula data dari bahagian belakang.
Terutamanya abstraksi menyediakan dua cara berbeza 1.abstraksi data dan 2.kawalan abstraksi. Dalam abstraksi data digunakan untuk mencipta jenis data yang sukar, ia akan digunakan untuk mendedahkan beberapa kandungan berguna kepada pendedahan dalam skrin termasuk jenis data. Dalam abstraksi kawalan, proses beberapa data untuk ditulis dalam bahasa pengaturcaraan lain adalah dalam senario yang berbeza dengan beberapa kali untuk menulis kod untuk menyimpan dan mendapatkan semula data supaya jenis data ini dikenal pasti dan digabungkan dengan satu kerja dipanggil sebagai abstraksi kawalan.
Walaupun kami menggunakan jenis antara muka untuk mencapai pengabstrakan bermakna ia mesti mencapai ini dalam kemungkinan besar tetapi dalam kelas abstrak tidak dicapai sepenuhnya dalam proses pengabstrakan ia mesti lengkap sebahagiannya. Jika kita menggunakan kelas abstrak, kita tidak boleh mencipta contoh kelas ini jika kita mahu menggunakannya untuk contoh dalam kelas ini sepenuhnya atau konkrit dengan memanjangkannya kepada mereka. Menggunakan Abstraksi, kami mengisytiharkan pelaksanaan kaedah mungkin diubah semasa kami menggunakan pengendali baharu untuk mencipta contoh kelas abstrak ia akan membuang ralat kompilasi.
Berikut ialah contoh berikut yang disebut di bawah :
Kod:
public abstract class Main { private String names; private String city; public Main(String nm, String cty){ this.names=nm; this.city=cty; } public abstract void work(); @Override public String toString(){ return "Names="+this.names+"::City="+this.city; } public void changeName(String newNames) { this.names = newNames; } } public class ClientMain extends Main { private int empId; public ClientMain(String nm, String cty, int id) { super(nm, cty); this.empId=id; } @Override public void work() { if(empId == 0){ System.<em>out</em>.println("Invalid name"); }else{ System.<em>out</em>.println("Employees List!!"); } } public static void main(String args[]){ //coding in terms of abstract classes Main m = new ClientMain("siva","tirupur",1); Main m1 = new ClientMain("raman","chennai",234); m.work(); m1.work(); //using method implemented in abstract class - inheritance m1.changeName("Sivaraman"); System.<em>out</em>.println(m1.toString()); } }
Output:
Kod:
interface Animals { public void animalSounds(); public void sleep(); } class Sample implements Animals { public void animalSounds() { System.<em>out</em>.println("Animal Sounds"); } public void sleep() { System.<em>out</em>.println("Beep"); } } class ClientMain { public static void main(String[] args) { Sample s = new Sample(); s.animalSounds(); s.sleep(); } }
Output:
Kod:
@FunctionalInterface interface SquareofNumbers { int numbers(int x); } class ClientMain { public static void main(String args[]) { int a = 6; SquareofNumbers s = (int i)->i*i; int result = s.numbers(a); System.<em>out</em>.println(result); } }
Output:
Tiga contoh di atas kami telah menggunakan penggunaan asas kelas abstrak dan antara muka untuk melaksanakan abstraksi dalam aplikasi java contoh terakhir kami telah menggunakan konsep yang dipanggil antara muka berfungsi yang digunakan dalam java untuk menduakan nombor yang diberikan. Antara muka berfungsi sama seperti konsep antara muka tetapi kerana ia tidak membenarkan lebih daripada satu kaedah abstrak dalam atur cara jika andaikan kami menggunakan lebih daripada satu kaedah abstrak bermakna ia akan melemparkan ralat seperti "anotasi Antara Muka @fungsional yang tidak dijangka" semasa kami menggunakan antara muka berfungsi kami juga mengisytiharkan anotasi ia sangat membantu untuk data tentang konsep data iaitu semasa kami memerlukan teknologi metadata dalam java kami telah menggunakan jenis teknologi ini yang dipanggil anotasi dan juga kami telah menggunakan konsep lain yang dipanggil ungkapan lambda yang telah kami gunakan dalam contoh terakhir untuk kurangkan ruang kod supaya lebihan kod adalah sangat mudah dan kerumitan program juga kurang, ia mudah difahami untuk menulis pengekodan yang kompleks.
Jika kita menentukan mana-mana kaedah dalam kelas maka kita harus mengisytiharkan kelas itu juga abstrak dan juga jika kita melanjutkan kelas abstrak dan digunakan dalam mana-mana kaedah dalam kelas dalaman sebelum itu kita mesti melaksanakan semua kaedah kelas abstrak dalam teknologi java kami tidak dapat mencipta contoh kelas abstrak kami tidak boleh mengisytiharkan kelas abstrak sebagai pengubah suai akses akhir atau kata kunci dalam java kerana apabila kami menggunakan akhir dalam kelas abstrak atau mana-mana kaedah dalam kelas ia boleh tidak akan diubah dalam keseluruhan proses pelaksanaan aplikasi. Pengubah suai persendirian juga tidak dibenarkan dalam Abstraksi, ia akan menjejaskan pewarisan hubungan ibu bapa-anak harus terjejas dalam kelas Abstrak kerana fungsi/kaedah tidak dibenarkan untuk subkelas.
Konsep abstraksi di atas adalah pemahaman asas tentang oops sementara kami melaksanakan perkara yang sama dalam teknologi java, ia harus digunakan dengan antara muka dan kelas abstrak untuk mencapai abstraksi tetapi dalam versi terkini java ia mungkin berbeza mengikut ciri baharu .
Atas ialah kandungan terperinci Abstraksi di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!