Perbezaan antara mengikat awal dan lewat

Perbezaan antara mengikat awal dan lewat

Perbezaan utama - awal vs mengikat lewat
 

Mengikat awal dan mengikat lewat adalah dua konsep yang berkaitan dengan polimorfisme. Pengikatan awal berlaku pada masa penyusunan sementara pengikatan lewat berlaku semasa runtime. The Perbezaan utama Antara mengikat awal dan lewat adalah bahawa Pengikatan awal menggunakan maklumat kelas untuk menyelesaikan kaedah yang memanggil sementara mengikat lewat menggunakan objek untuk menyelesaikan kaedah panggilan.

Bahasa pengaturcaraan seperti Java menyokong pengaturcaraan berorientasikan objek (OOP). Ia adalah paradigma yang membolehkan membina program atau perisian menggunakan objek. Terdapat banyak objek dalam perisian. Objek ini disambungkan antara satu sama lain dan lulus mesej menggunakan kaedah. Setiap objek mempunyai ciri dan tingkah laku. Ciri -ciri yang diterangkan oleh sifat atau sifat. Tingkah laku diterangkan menggunakan kaedah. Pelajar objek boleh mempunyai ciri -ciri seperti nama, umur dan mereka diwakili oleh sifat. Pelajar objek boleh mempunyai tingkah laku seperti kajian dan membaca, dan mereka diwakili oleh kaedah. Satu tiang utama OOP adalah polimorfisme. Ia membolehkan objek berkelakuan dengan pelbagai cara. Mengikat awal dan mengikat lewat adalah dua konsep dalam polimorfisme. Kaedah yang berlebihan terikat menggunakan mengikat awal. Kaedah yang ditindas terikat menggunakan mengikat lewat.

Kandungan

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa yang mengikat awal
3. Apa yang lewat mengikat
4. Persamaan antara mengikat awal dan lewat
5. Perbandingan sampingan - awal vs mengikat lewat dalam bentuk jadual
6. Ringkasan

Apa yang mengikat awal?

Pada awal mengikat, maklumat kelas digunakan untuk menyelesaikan kaedah panggilan. Pengikatan awal berlaku pada masa penyusunan. Ia juga dikenali sebagai pengikatan statik. Dalam proses ini, pengikatan berlaku sebelum program sebenarnya berjalan. Kaedah yang berlebihan terikat menggunakan mengikat awal. Rujuk program di bawah.

Rajah 01: Kelas pengiraan

Rajah 02: Program utama untuk mengikat awal

Menurut program di atas, kelas pengiraan mengandungi kaedah tambah yang menerima dua nilai integer dan satu lagi kaedah tambah yang menerima dua nilai ganda. Dalam program utama, objek pengiraan jenis dibuat. Semasa melepasi dua bilangan bulat ke kaedah tambah, ia akan menggunakan kaedah tambah yang menerima dua bilangan bulat. Apabila melepasi dua nilai ganda ke kaedah tambah, ia akan menggunakan kaedah yang sepadan dengan dua nilai ganda. Proses mengikat ini berlaku pada masa penyusunan. Semua maklumat yang diperlukan diketahui sebelum runtime, jadi ia meningkatkan kecekapan program dan kelajuan pelaksanaan.

Apa yang lewat mengikat?

Pada akhir mengikat, objek digunakan untuk menyelesaikan kaedah panggilan. Mengikat lewat berlaku semasa runtime. Ia juga dikenali sebagai mengikat dinamik. Dalam proses ini, pengikatan berlaku pada pelaksanaan program. Kaedah yang ditindas terikat menggunakan mengikat lewat. Rujuk program di bawah.

Rajah 03: Bentuk kelas

Rajah 04: Kelas bulatan

Rajah 05: Kelas Segitiga

Rajah 06: Program utama untuk mengikat lewat

Menurut program di atas, bentuk kelas mempunyai kaedah menarik. Kelas Bulatan Kelas dan Kelas Segitiga Memperluaskan Kelas Bentuk. Oleh itu, kedua -dua kelas ini boleh mewarisi sifat dan kaedah kelas bentuk. Kelas bentuk adalah kelas asas. Kelas bulatan dan segitiga adalah kelas yang diperolehi. Bulatan kelas dan segitiga kelas juga mempunyai kaedah menarik dengan pelaksanaan mereka sendiri. Oleh itu, kaedah cabutan dalam kelas bentuk ditindih oleh kaedah cabutan kelas yang diperoleh.

Dalam program utama, pembolehubah rujukan s bentuk jenis dibuat. Pada masa penyusunan, pengkompil hanya akan merujuk kaedah lukisan kelas asas. Semasa runtime, kaedah menarik yang berbeza akan dilaksanakan. Pertama, s akan menunjuk kepada objek bentuk jenis. Oleh itu, kaedah lukisan kelas bentuk dipanggil. Kemudian S akan menunjuk kepada objek jenis bulatan, dan ia akan menggunakan kaedah lukisan kelas bulatan. Akhirnya, S akan menunjuk kepada objek jenis segitiga, dan ia akan memohon kaedah menarik dalam kelas segitiga. Kaedah dipanggil bergantung pada objek. Oleh itu, objek digunakan untuk menyelesaikan kaedah yang memanggil dalam mengikat lewat. Maklumat yang diperlukan untuk mengikat disediakan pada masa larian, jadi kelajuan pelaksanaan lebih perlahan berbanding dengan mengikat awal.

Apakah persamaan antara mengikat awal dan mengikat lewat?

  • Kedua -dua mengikat awal dan mengikat lewat berkaitan dengan polimorfisme yang merupakan tiang oop.

Apakah perbezaan antara mengikat awal dan mengikat lewat?

Mengikat awal vs mengikat lewat

Proses menggunakan maklumat kelas untuk menyelesaikan kaedah panggilan yang berlaku pada masa penyusunan dipanggil mengikat awal. Proses menggunakan objek untuk menyelesaikan kaedah panggilan yang berlaku pada masa larian dipanggil mengikat lewat.
 Masa mengikat
Pengikatan awal berlaku pada masa penyusunan. Pengikatan lewat berlaku pada masa larian.
Fungsi
Pengikatan awal menggunakan maklumat kelas untuk menyelesaikan kaedah panggilan. Mengikat lewat menggunakan objek untuk menyelesaikan kaedah panggilan.
 Sinonim
Pengikatan awal juga dikenali sebagai mengikat statik .. Mengikat lewat juga dikenali sebagai mengikat dinamik.
Kejadian
Kaedah yang berlebihan terikat menggunakan mengikat awal. Kaedah yang ditindas terikat menggunakan mengikat lewat.
Kelajuan pelaksanaan
Kelajuan pelaksanaan lebih cepat pada awal mengikat. Kelajuan pelaksanaan lebih rendah pada mengikat lewat.

Ringkasan -Awal vs mengikat lewat

OOP digunakan biasanya untuk pembangunan perisian. Satu tiang utama OOP adalah polimorfisme. Mengikat awal dan mengikat lewat berkaitan dengan itu. Pengikatan awal berlaku pada masa penyusunan sementara mengikat lewat berlaku semasa runtime. Dalam kaedah yang berlebihan, ikatan berlaku menggunakan pengikatan awal. Dalam kaedah yang mengatasi, ikatan berlaku menggunakan pengikatan lewat. Perbezaan antara mengikat awal dan lewat adalah bahawa pengikatan awal menggunakan maklumat kelas untuk menyelesaikan kaedah yang memanggil sementara mengikat lewat menggunakan objek untuk menyelesaikan kaedah yang memanggil.

Rujukan:

1.Java Wawancara 04 - Statik Mengikat Vs Dinamik Mengikat, Tutorial mahika, 27 dec. 2017. Terdapat di sini
2.Kaedah Dinamik Dispatch di Java | Tutorial Java Teras | KajianTonIght. Terdapat di sini