Java Abstraction- Menguasai OOP dengan Abstraction di Java



Artikel mengenai Java Abstraction ini akan membantu anda memahami penggunaan Abstrak class dan Interface dan bagaimana mencapainya menggunakan Abstraction.

Di blog sebelumnya, anda telah mengetahui mengenai di Jawa. Sekarang di blog ini, kita akan memahami satu rukun yang lebih penting iaitu Java Abstraction yang fungsi utamanya adalah untuk menyembunyikan perincian pelaksanaan dalaman.

Saya akan membahas topik-topik yang disebutkan di bawah ini dalam artikel ini:





Anda juga boleh melalui rakaman ini di mana anda dapat memahami topik secara terperinci dengan contoh.



Abstraksi dalam OOP

Apabila kita secara umum membincangkan mengenai abstraksi, bahasa perisian adalah contoh Abstraksi. Mari kita ambil contoh dan menulis pernyataan sebagai-

x = y + z

Dalam pernyataan di atas, kami menambahkan dua pemboleh ubah yang disimpan di dua lokasi yang berbeza dan kemudian menyimpan hasilnya di lokasi baru. Jadi, apa yang berlaku seterusnya? Seperti yang anda ketahui, terdapat daftar, set arahan, kaunter program, unit penyimpanan, dan lain-lain. Ketika kita merujuk kepada abstraksi di Jawa, kita berbicara tentang abstraksi di dan bagaimana ia dicapai. Konsep abstraksi dalam OOP bermula tepat pada masa kelas dikandung. Abstraksi digunakan di mana-mana sahaja dalam perisian dan OOP.



Apakah Abstraksi Java?

Abstraksi tidak lain hanyalah kualiti menangani idea dan bukannya peristiwa. Ini pada dasarnya berkaitan dengan menyembunyikan butiran dalaman dan menunjukkan perkara penting kepada pengguna.

Panggilan - Abstraksi Java -Edureka

Sekiranya anda melihat gif di atas, anda dapat melihat ketika anda menerima panggilan, kami mendapat pilihan untuk memilihnya atau menolaknya. Tetapi pada hakikatnya, terdapat banyak kod yang berjalan di latar belakang. Jadi di sini, anda tidak tahu pemprosesan dalaman bagaimana panggilan dihasilkan, itulah keindahan abstraksi. Anda boleh mencapai pengambilan dalam dua cara:

a) Kelas Abstrak

b) Antara muka

Mari kita fahami konsep ini dengan lebih terperinci.

Kelas Abstrak

Kelas abstrak mengandungi kata kunci 'abstrak'. Tetapi apa sebenarnya maksudnya? Sekiranya anda membuat kelas abstrak, itu tidak boleh dibuat contoh, iaitu anda tidak boleh membuat objek kelas abstrak. Kelas abstrak juga boleh mengandungi kaedah abstrak dan konkrit.

Catatan: Anda boleh mencapai 0-100% abstraksi menggunakan kelas abstrak.

Untuk menggunakan kelas abstrak, anda mesti mewarisinya dari kelas asas. Di sini, anda harus menyediakan pelaksanaan kaedah abstrak, jika tidak, ia akan menjadi kelas abstrak.

Mari lihat sintaks kelas abstrak:

Sukan kelas abstrak {// sukan kelas abstrak Lompatan kekosongan abstrak () // kaedah abstrak}

Antara muka

Antaramuka di Java adalah kumpulan kaedah abstrak dan pemalar statik. Seperti yang anda ketahui di antara muka, setiap kaedah bersifat umum dan abstrak tetapi tidak mengandungi konstruktor. Bersamaan dengan pengabstrakan, antara muka juga membantu mencapai pelbagai warisan di Jawa.
Catatan: Anda boleh mencapai abstraksi 100% menggunakan antara muka.

Pada asasnya, Interface adalah sekumpulan kaedah yang berkaitan dengan badan kosong. Mari kita memahami antara muka dengan mengambil contoh antara muka Shape dengan kaedah yang berkaitan.

bentuk antara muka awam {public void draw () public double getArea ()}

Kaedah ini mesti ada dalam setiap 'bentuk', bukan? Tetapi kerja mereka akan berbeza.

Mari kita anggap bahawa anda ingin melukis bentuk, katakan bulatan, persegi, segiempat dll. Anda sudah tahu, setiap bentuk mempunyai dimensi tersendiri seperti jejari, tinggi, dan lebar. Katakan saya mahu melukis bulatan dan mengira luasnya. Dengan mempertimbangkan perkara yang sama, saya telah membuat dua kaedah dalam kod di atas iaitu draw () dan getArea (). Sekarang, dengan menggunakan kaedah ini, saya dapat melukis bentuk apa pun dan mengira luasnya dengan melaksanakan antara muka.

Sekarang, mari kita lihat fungsi bagaimana anda boleh melaksanakan antara muka ini.
Untuk menerapkan antara muka ini, nama kelas anda akan berubah menjadi bentuk apa pun, katakanlah 'Lingkaran'. Oleh itu, untuk melaksanakan antara muka kelas, saya akan menggunakan kata kunci ‘implement’:

Lingkaran kelas awam mengimplementasikan Bentuk {bulatan awam jejari persendirian (double r) {this.radius = r} undian tidak sah () {System.out.println ('Drawing Circle')} public double getArea () {return Math.PI * this.radius * this.radius} public double getRadius () {return this.radius}} kelas awam Uji {public static void main (String args []) {Shape c = new Circle (8) c.draw () Sistem. out.println ('Area =' + c.getArea ())}}

Dalam contoh di atas, saya telah menentukan fungsi untuk kaedah dan kawasan bulatan yang dikira. Di sini, semasa melaksanakan antara muka, ia membolehkan kelas menjadi lebih formal mengenai tingkah laku yang disediakannya. Anda juga boleh membuat kelas lain, katakan kelas ‘Rectangle’ yang boleh mewarisi ‘bentuk’ antara muka yang sama dengan fungsi yang berbeza.

cara menggunakan tableau awam

Contoh masa abstraksi di java

Anggaplah kita mempunyai Sport sebagai antara muka. Di sini, pelaksanaan akan diberikan oleh kelas yang disebut 'Badminton' dan 'Football'. Dalam senario sebenar, pengguna akhir tidak akan mengetahui kelas pelaksanaannya. Oleh itu, objek kelas pelaksanaan dapat disediakan dengan kaedah kilang. Kaedah kilang boleh digunakan untuk membuat objek kelas pelaksanaan berdasarkan beberapa kriteria.
Mari kita laksanakan yang sama dan buat antara muka yang dipanggil Sport.java.

public Interface Sport {void play ()} // Sekarang, kami akan membuat kelas bernama 'Badminton' public class Badminton menerapkan Sport {@Override public void play () {System.out.println ('Playing badminton')}} // Seterusnya mari buat kelas awam 'Bola Sepak' kelas terakhir Bola Sepak menerapkan Sukan {@Override public void play () {System.out.println ('Playing football')}

Langkah terakhir adalah membuat kelas utama bernama 'SportInterface'.

public SportInterface {public static void main (String args []) {// kod anda di sini}}

Apabila anda menjalankan program di atas, output akan seperti yang ditunjukkan di bawah ini:

Bermain badminton ------------------- Bermain bola sepak

Saya harap anda jelas dengan antara muka dan bagaimana anda boleh mencapai pengabstrakan menggunakannya. Sekarang, mari kita simpulkan artikel ini dengan membandingkan Abstraksi dan Encapsulation.

Abstraksi vs Enkapsulasi

Pengambilan Enkapsulasi
Menyelesaikan masalah di peringkat reka bentukMenyelesaikan masalah di peringkat pelaksanaan
Digunakan untuk menyembunyikan data yang tidak diingini dan memberikan hasil yang relevanEncapsulation bermaksud menyembunyikan kod dan data ke dalam satu unit untuk melindungi data dari dunia luar
Susun atur luar - digunakan dari segi reka bentukSusun atur dalaman - digunakan dari segi pelaksanaan

Saya harap anda memahami perbezaan antara Abstraksi dan Encapsulation. Dengan ini, kita berakhir di blog Java Abstraction. Mudah-mudahan, anda dapati maklumat dan membantu menambah nilai pengetahuan anda. Sekiranya anda ingin mempelajari lebih lanjut mengenai Java, anda dapat merujuk ke

Sekarang setelah Anda memahami 'Apa itu Java Abstraction', periksa oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi Anda awal dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog 'Java Abstraction' ini dan kami akan menghubungi anda secepat mungkin.