Rumah > Java > javaTutorial > teks badan

Apakah Polimorfisme?

王林
Lepaskan: 2024-08-30 15:43:29
asal
966 orang telah melayarinya

Polymorphism ialah konsep dengan bantuan tindakan tunggal dalam cara yang berbeza boleh dilakukan. Ia berasal daripada dua perkataan Yunani: poly dan morphs. "poli" bermaksud banyak, dan "morphs" bermaksud bentuk. Selepas itu, polimorfisme membayangkan banyak bentuk. Pengaturcaraan berorientasikan objek boleh ditakrifkan sebagai keupayaan bahasa pengaturcaraan untuk memproses objek secara berbeza bergantung pada kelas atau jenis datanya. Pada asasnya, kita boleh mentakrifkannya sebagai keupayaan untuk kelas terbitan untuk mentakrifkan semula kaedah.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Pemahaman

Dua jenis polimorfisme ialah polimorfisme masa kompilasi dan polimorfisme masa larian. Polimorfisme masa kompilasi dilakukan dengan lebihan kaedah dan polimorfisme masa jalan dengan mengatasi kaedah. Polimorfisme masa jalan, juga dipanggil Dispatch Kaedah Dinamik, ialah satu proses di mana panggilan kepada kaedah yang ditindih diselesaikan pada masa jalan walaupun masa penyusunan. Di sini, kaedah yang diganti dipanggil melalui pembolehubah rujukan kelas induk. Selain itu, polimorfisme masa jalan tidak boleh dicapai oleh ahli data.

Bagaimanakah Polimorfisme menjadikan kerja begitu mudah?

Ia adalah ciri pengaturcaraan berorientasikan objek. Menggunakan Polimorfisme, kelas boleh mempamerkan fungsi yang berbeza walaupun ia mempunyai antara muka yang sama. Oleh itu, kita boleh mengatakan bahawa jangka panjang ini menerangkan konsep asas. Perkara yang perlu diberi perhatian tentang polimorfisme ialah semua kod kerja dalam pelbagai kelas tidak memerlukan mengetahui tentang kelas yang digunakan olehnya kerana cara penggunaannya adalah sama.

Ia adalah ciri pengaturcaraan berorientasikan objek. Menggunakan Polimorfisme, kelas boleh mempamerkan fungsi yang berbeza walaupun ia mempunyai antara muka yang sama. Oleh itu, kita boleh mengatakan bahawa jangka panjang ini menerangkan konsep yang sangat asas. Perkara yang perlu diberi perhatian mengenainya ialah semua kod kerja dalam pelbagai kelas tidak perlu mengetahui tentang kelas yang digunakan olehnya kerana cara penggunaannya adalah sama.

Pertimbangkan senario dunia sebenar untuk polimorfisme. Ambil contoh butang. Kami tahu bahawa kami boleh mengklik butang dengan menggunakan sedikit tekanan, tetapi kami tidak tahu output menekan butang atau rujukan penggunaannya. Perkara yang perlu diperhatikan di sini ialah hasilnya tidak akan menjejaskan cara ia digunakan sama ada cara.

Jadi matlamat asasnya ialah untuk membuat objek yang boleh ditukar ganti bergantung pada keperluan.

Apakah yang boleh anda lakukan dengan Polimorfisme?

Apabila kelas kanak-kanak mempunyai kaedah yang sama seperti yang diisytiharkan dalam kelas induk, kami memanggilnya sebagai kaedah mengatasi.

Atau dengan kata lain, jika kelas anak menyediakan pelaksanaan kaedah yang telah diisytiharkan oleh kelas induknya, ia dipanggil kaedah mengatasi. Perkara-perkara tertentu yang perlu diingat dalam mengatasi kaedah ialah:

  • Kaedah mesti mempunyai nama yang sama seperti yang disebut dalam kelas induk
  • Kaedah juga mesti mempunyai parameter yang sama seperti yang disebut dalam kelas induk.
  • Mesti ada warisan, iaitu hubungan IS-A.

Bekerja dengan polimorfisme?

Apabila kelas mempunyai berbilang kaedah yang mempunyai nama yang sama tetapi parameter berbeza, ia dirujuk sebagai Kaedah Lebih Muatan.

Andaikan kita perlu melakukan hanya satu operasi, kemudian mempunyai nama yang sama dengan kaedah akan meningkatkan kebolehbacaan atur cara. Cara untuk membebankan kaedah dalam Java ialah:

  • Menukar bilangan hujah
  • Menukar jenis data

Walau bagaimanapun, di Jawa, tidak mungkin jika kita menukar jenis pemulangan kaedah sahaja.

Kelebihan

  • Ia membantu pengaturcara menggunakan semula kod dan kelas yang pernah ditulis untuk diuji dan dilaksanakan. (Kebolehgunaan semula kod)
  • Nama pembolehubah tunggal boleh menyimpan pembolehubah berbilang jenis data( int, float, double, long, dll.).
  • Meningkatkan kebolehbacaan program.

Mengapa kita perlu menggunakan polimorfisme?

Selain daripada polimorfisme dinamik dan polimorfisme statik, beberapa ciri pengaturcaraan Java mempamerkan polimorfisme selain daripada dua jenis utama.

Ini ialah – Paksaan, Parameter Polimorfik dan Lebih Muatan Operator

Paksaan

Mari kita fahami paksaan dengan contoh yang sangat mudah. Pertimbangkan rentetan dengan nilai "kelas paksaan:". Pertimbangkan integer lain dengan nilai 1. Sekarang, apakah yang berlaku apabila anda menggabungkan nilai rentetan dengan nilai integer? Output penggabungan ini ialah "kelas paksaan: 1". Inilah yang dinamakan Paksaan. Penukaran jenis tersirat dilakukan untuk mengelakkan ralat jenis. Pengkompil melakukannya.

Operator Overloading

Sebelum bermula dengan lebih muatan pengendali, juga dikenali sebagai lebihan beban kaedah, mari kita lihat contoh. Pertimbangkan rentetan dengan nilai "Operator" dan rentetan lain sebagai "Lebih Muatan". Gunakan simbol tambah (+) dengan dua rentetan ini sama seperti anda menambah dua integer. (+) akan menggabungkan kedua-dua rentetan ini. Dalam kes dua integer, jumlah dua integer dikembalikan. Apabila satu simbol atau operator mempunyai keupayaan untuk menukar maknanya bergantung pada cara ia digunakan, jenis polimorfisme yang dipamerkan dipanggil Operator Overloading.

Parameter

Dalam Polimorfisme, objek mungkin muncul dalam pelbagai bentuk. Di Java, ia merujuk kepada membenarkan akses kepada objek dalam salah satu daripada cara berikut seperti –

1. menggunakan pembolehubah rujukan kelas induknya atau kelas super

2. menggunakan pembolehubah rujukan kelas di mana ia wujud.

Mengapa kita memerlukan polimorfisme?

Sebab utama mengapa Polimorfisme diperlukan ialah konsep ini digunakan secara meluas dalam melaksanakan pewarisan. Ia memainkan peranan penting dalam membenarkan objek mempunyai struktur dalaman yang berbeza-beza dalam berkongsi antara muka luaran yang sama. Ia dinyatakan dengan jelas sebagai satu yang dipetakan untuk ramai.

Skop

Pengikatan ialah menyambungkan panggilan kaedah ke badan kaedah. Kami mempunyai dua jenis pengikatan.

Pengikatan Statik (Pengikatan Awal): Apabila jenis objek ditentukan pada masa penyusunan.

Pengikatan Dinamik (Pengikatan Lewat): Apabila jenis objek ditentukan pada masa larian.

Kesimpulan

Ia dianggap sebagai salah satu ciri yang sangat penting dalam Pengaturcaraan Berorientasikan Objek. Jika anda bercakap tentang contoh kehidupan sebenar polimorfisme, ia boleh jadi seseorang pada masa yang sama boleh mempunyai ciri yang berbeza; sebagai contoh, seorang lelaki pada masa yang sama adalah anak lelaki, suami, pekerja. Jadi orang yang sama memperoleh tingkah laku yang berbeza dalam situasi yang berbeza. Ini, dalam istilah berorientasikan objek, dipanggil polimorfisme, ciri penting pengaturcaraan berorientasikan objek.

Atas ialah kandungan terperinci Apakah Polimorfisme?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!