Perbezaan antara mengikat statik dan mengikat dinamik

Perbezaan antara mengikat statik dan mengikat dinamik

Perbezaan utama - statik Mengikat vs mengikat dinamik
 

Bahasa pengaturcaraan seperti pengaturcaraan berorientasikan objek Java dan C# Sokongan (OOP). Ia membolehkan perisian bangunan menggunakan objek. Terdapat banyak objek dalam sistem perisian atau program. Objek ini mempunyai atribut dan kaedah. Atribut menggambarkan ciri -ciri. Kaedah menggambarkan tindakan yang boleh dilakukan oleh objek. Data dilalui melalui objek menggunakan kaedah. Nilai yang diperlukan dihantar melalui panggilan kaedah dengan parameter. Pelaksanaan kaedah sebenar adalah dalam definisi kaedah. Terdapat hubungan antara panggilan kaedah dan definisi kaedah. Ia dikenali sebagai mengikat. Terdapat dua jenis pengikatan. Mereka mengikat statik dan mengikat dinamik. The Perbezaan utama Antara mengikat statik dan mengikat dinamik ialah, Dalam pengikatan statik, pengikatan diselesaikan pada masa penyusunan sementara pengikatan dinamik diselesaikan pada waktu larian, yang merupakan masa pelaksanaan yang sebenarnya. Artikel ini membincangkan perbezaan antara kedua -dua mekanisme mengikat ini.

Kandungan

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa itu mengikat statik
3. Apa itu mengikat dinamik
4. Persamaan antara mengikat statik dan mengikat dinamik
5. Perbandingan sampingan - Mengikat statik vs mengikat dinamik dalam bentuk jadual
6. Ringkasan

Apa itu mengikat statik?

Mengikat adalah hubungan antara definisi panggilan dan kaedah kaedah.

Rajah 01: Mengikat statik dan mengikat dinamik

Rujuk program di bawah yang ditulis di Java.

Kelas Awam A

kaedah void awam1 ()

Sistem.keluar.println ("metod1");

kaedah void awam2 ()

Sistem.keluar.println ("kaedah2");

public static void main (string [] args)

A obj = baru a ();

obj.kaedah1 ();

obj.kaedah2 ();

Menurut program di atas, objek jenis A dibuat. Maka kaedah1 dan kaedah2 dipanggil. Mengenal pasti kaedah mana yang harus dipanggil untuk pelaksanaan dikenali sebagai mengikat. Penyata OBJ.kaedah1 () akan memanggil kaedah1 () dan obj.kaedah2 () akan memanggil kaedah2 (). Pautan ini mengikat.

Dalam pengikatan statik, mengikat diselesaikan pada masa penyusunan oleh pengkompil. Ia juga dikenali sebagai mengikat awal. Mengikat berlaku sebelum program sebenarnya berjalan. Mengikat statik berlaku dalam kaedah yang berlebihan. Rujuk program di bawah yang ditulis di Java.

pengiraan kekosongan awam

jumlah void awam (int x, int y)

Sistem.keluar.println ("Jumlah adalah", x+y);

jumlah void awam (double x, double y)

Sistem.keluar.println ("Jumlah adalah", x+y);

public static void main (string [] args)

Pengiraan cal = pengiraan baru ();

Cal.jumlah (2,3);

Cal.Jumlah (5.1, 6.4);

Menurut program di atas, ketika melewati dua bilangan bulat, kaedah dengan dua bilangan bulat akan dipanggil. Apabila melepasi dua nilai ganda, kaedah yang sepadan dengan dua nilai ganda akan dipanggil. Proses mengikat ini berlaku pada masa penyusunan. Pengkompil tahu bahawa ia harus memanggil kaedah jumlah dengan dua nilai integer untuk cal.Jumlah (2,3). Untuk Cal (5.1,6.4), ia akan memanggil kaedah jumlah dengan dua nilai ganda. Semua maklumat yang diperlukan diketahui sebelum runtime, jadi ia meningkatkan kecekapan program dan kelajuan pelaksanaan.

Apa itu mengikat dinamik?

Dalam mengikat dinamik pengkompil tidak menyelesaikan pengikatan pada masa penyusunan. Mengikat berlaku pada masa yang berlalu. Ia juga dikenali sebagai mengikat lewat. Pengikatan dinamik berlaku dalam kaedah yang mengatasi.  Rujuk program yang ditulis di Java.

bentuk kelas awam ()

cabutan void awam ()

Sistem.keluar.println ("lukis bentuk");

Circle Class Public () memanjangkan bentuk

cabutan void awam ()

Sistem.keluar.println ("lukis bulatan");

Segitiga kelas awam () memanjangkan bentuk

cabutan void awam ()

Sistem.keluar.println ("lukis segitiga");

Ujian Kelas Awam

public static void main (string [] args)

Bentuk s;

s = bentuk baru ();

s.lukis ();

s = bulatan baru ();

s.lukis ();

s = segitiga baru ();

s.lukis ();

Menurut program di atas, bentuk kelas mempunyai kaedah cabutan (). Bulatan kelas dan segitiga kelas memanjangkan kelas bentuk. Bulatan kelas dan segitiga kelas boleh mewarisi sifat dan kaedah bentuk kelas. Oleh itu, bentuk kelas adalah kelas super atau kelas induk. Bulatan kelas dan segitiga kelas adalah kelas sub atau kelas yang diperoleh. Kelas -kelas ini juga mempunyai kaedah menarik () dengan pelaksanaan mereka sendiri.  Oleh itu, kaedah cabutan () dalam kelas super ditindih.

Dalam kaedah utama, objek yang berbeza dipanggil. Terdapat pemboleh ubah rujukan jenis bentuk, iaitu s. Kemudian, S memanggil kaedah mengikut kelas tertentu. Pada masa penyusunan, pengkompil hanya akan merujuk kaedah cabutan kelas super. Apabila pelaksanaan sebenar bermula, ia akan membawa kepada pelaksanaan kaedah cabutan yang berbeza. Pertama, s akan menunjuk kepada objek bentuk jenis. Oleh itu, ia akan memohon kaedah menarik dalam kelas bentuk. Kemudian S akan menunjuk objek jenis bulatan, dan ia akan menggunakan kaedah lukisan kelas bulatan. Akhirnya, S akan merujuk kepada objek jenis segitiga, dan ia akan memohon kaedah menarik dalam kelas segitiga. Walaupun pemboleh ubah rujukan adalah bentuk jenis, pengikatan berlaku bergantung pada jenis objek. Konsep ini dikenali sebagai mengikat dinamik. Maklumat ini disediakan pada masa larian, jadi kelajuan pelaksanaan lebih perlahan berbanding dengan pengikatan statik.

Apakah persamaan antara mengikat statik dan mengikat dinamik?

  • Kedua -duanya berkaitan dengan polimorfisme yang membolehkan objek berkelakuan dalam pelbagai cara.

Apakah perbezaan antara mengikat statik dan mengikat dinamik?

Statik mengikat vs mengikat dinamik

Mengikat statik adalah jenis mengikat yang mengumpul semua maklumat yang diperlukan untuk memanggil fungsi semasa masa penyusunan. Pengikatan Dinamik adalah jenis mengikat yang mengumpul semua maklumat yang diperlukan untuk memanggil fungsi semasa jangka masa.
 Masa mengikat
Mengikat statik berlaku pada masa penyusunan. Pengikatan dinamik berlaku pada masa larian.
Fungsi
Statik mengikat menggunakan maklumat jenis untuk mengikat. Mengikat dinamik menggunakan objek untuk menyelesaikannya.
 Objek sebenar
Mengikat statik tidak menggunakan objek sebenar untuk mengikat. Mengikat dinamik, gunakan objek sebenar untuk mengikat.
Sinonim
Mengikat statik juga dikenali sebagai mengikat awal. Mengikat dinamik juga dikenali sebagai mengikat lewat.
Pelaksanaan
Kelajuan pelaksanaan pantas dalam mengikat statik. Kelajuan pelaksanaan rendah dalam mengikat dinamik.
Contoh
Pengikatan statik digunakan dalam kaedah yang berlebihan. Pengikatan dinamik digunakan dalam kaedah yang mengatasi.

Ringkasan -Statik Mengikat vs mengikat dinamik 

Terdapat hubungan antara panggilan kaedah dan definisi kaedah. Ia dikenali sebagai mengikat. Terdapat dua jenis pengikatan yang disebut pengikatan statik dan mengikat dinamik. Perbezaan antara pengikatan statik dan mengikat dinamik adalah bahawa dalam pengikatan statik, pengikatan diselesaikan pada masa kompilasi sementara pengikatan dinamik diselesaikan pada waktu larian, yang merupakan masa pelaksanaan yang sebenarnya. Memandangkan maklumat yang diperlukan disediakan sebelum jangka masa, pengikatan statik pantas dalam pelaksanaan yang dibandingkan dengan pengikatan dinamik.

Muat turun pdf pengikatan statik vs mengikat dinamik

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian mengikut nota petikan. Sila muat turun versi PDF di sini: Perbezaan antara mengikat statik dan mengikat dinamik

Rujukan:

1.Wawancara Java 04 - Statik Mengikat Vs Dinamik Mengikat, Tutorial Mahika, 27 Disember. 2017. Terdapat di sini