Perbezaan Antara Pengikatan Statik dan Pengikatan Dinamik

Perbezaan Utama - Statik Binding vs Dynamic Binding
 

Bahasa pengaturcaraan seperti Java dan C # menyokong Pemrograman Berorientasi Objek (OOP). Ia membolehkan perisian bangunan menggunakan objek. Terdapat banyak objek dalam sistem perisian atau program. Objek ini mempunyai atribut dan kaedah. Atribut menghuraikan ciri-ciri. Kaedah menerangkan tindakan yang boleh dilakukan oleh objek. Data diluluskan melalui objek menggunakan kaedah. Nilai yang diperlukan dihantar melalui kaedah panggilan dengan parameter. Pelaksanaan kaedah sebenar adalah dalam definisi kaedah. Terdapat pautan antara kaedah panggilan dan definisi kaedah. Ia dikenali sebagai mengikat. Terdapat dua jenis pengikatan. Mereka mengikis statik dan dinamik. The perbezaan utama antara statik mengikat dan mengikat dinamik adalah bahawa, dalam pengikatan statik, pengikatan diselesaikan pada masa kompilasi sementara mengikat dinamik diselesaikan pada masa lari, yang merupakan masa sebenar pelaksanaan. Artikel ini membincangkan perbezaan antara dua mekanisme yang mengikat ini.

KANDUNGAN

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah Statik Binding
3. Apakah Binding Dinamik?
4. Kesamaan Antara Pengikatan Statik dan Pengikatan Dinamik
5. Side by Side Comparison - Statik Mengikat vs Dinamik Mengikat dalam Borang Tabular
6. Ringkasan

Apa itu Statik Binding?

Pengikatan adalah hubungan antara panggilan kaedah dan definisi kaedah.

Rajah 01: Statik Mengikat dan Mengikat Dinamik

Rujuk program di bawah yang ditulis di Jawa.

kelas awam A

kaedah void awam1 ()

System.out.println ("Method1");

kaedah void awam2 ()

System.out.println ("Method2");

public static void main (String [] args)

A obj = new A ();

obj.method1 ();

obj.method2 ();

Menurut program di atas, objek jenis A dicipta. Kemudian kaedah1 dan kaedah2 dipanggil. Mengenalpasti kaedah mana yang perlu dipanggil untuk pelaksanaan dikenal sebagai mengikat. Penyataan obj.method1 () akan memanggil kaedah1 () dan obj.method2 () akan memanggil method2 (). Pautan ini mengikat.

Dalam pengikatan statik, pengikatan diselesaikan pada masa penyusun oleh pengkompil. Ia juga dikenali sebagai mengikat awal. Mengikat berlaku sebelum program berjalan. Pengikatan statik berlaku dalam kaedah overloading. Rujuk program di bawah yang ditulis di Jawa.

pengiraan tidak sah awam

jumlah void awam (int x, int y)

System.out.println ("Sum adalah", x + y);

jumlah kekosongan awam (double x, double y)

System.out.println ("Sum adalah", x + y);

public static void main (String [] args)

Pengiraan kal = Pengiraan baru ();

cal.sum (2,3);

cal.sum (5.1, 6.4);

Menurut program di atas, apabila melewati dua bulat, kaedah dengan dua bulat akan digunakan. Apabila lulus dua nilai berganda, kaedah yang bersamaan dengan dua nilai berganda akan digunakan. Proses mengikat ini berlaku pada masa kompilasi. Pengkompil tahu bahawa ia harus memanggil kaedah jumlah dengan dua nilai integer untuk cal.sum (2,3). Untuk cal (5.1,6.4), ia akan memanggil kaedah jumlah dengan dua nilai berganda. Semua maklumat yang diperlukan diketahui sebelum runtime, sehingga meningkatkan kecekapan program dan kecepatan pelaksanaan.

Apakah Binding Dinamik??

Dalam Dinamik Mengikat pengompil tidak menyelesaikan pengikatan pada masa penyusunan. Pengikatan berlaku pada masa larian. Ia juga dikenali sebagai mengikat lewat. Pengikatan Dinamik berlaku dalam kaedah utama. Rujuk program yang ditulis di Jawa.

bentuk kelas awam ()

undian void awam ()

System.out.println ("Draw shape");

Bulatan kelas awam () memanjangkan Bentuk

undian void awam ()

System.out.println ("Lukis bulatan");

kelas awam Segitiga () memanjangkan Bentuk

undian void awam ()

System.out.println ("Draw triangle");

Ujian kelas awam

public static void main (String [] args)

Bentuk;

s = Bentuk baru ();

s.draw ();

s = Circle baru ();

s.draw ();

s = Segitiga baru ();

s.draw ();

Menurut program di atas, Bentuk kelas mempunyai cabutan kaedah (). Kelas Bulatan dan Kelas Triangle memanjangkan kelas Bentuk. Kelas Bulatan dan Triangle kelas boleh mewarisi sifat dan kaedah Bentuk kelas. Oleh itu, kelas Bentuk adalah kelas super atau kelas induk. Kelas Bulatan dan Segitiga Kelas adalah kelas sub atau kelas yang diturunkan. Kelas-kelas ini juga mempunyai kaedah draw () dengan pelaksanaannya sendiri. Oleh itu, kaedah cabutan () dalam kelas super digariskan.

Dalam kaedah utama, objek berbeza dipanggil. Terdapat pembolehubah pembolehubah jenis Bentuk, iaitu s. Kemudian, s memanggil kaedah mengikut kelas tertentu. Pada masa yang kompilasi, pengkompil hanya akan merujuk kaedah menarik kelas super. Apabila pelaksanaan sebenar bermula, ia akan membawa kepada pelaksanaan kaedah lukisan yang berbeza. Pertama, s akan menunjuk kepada objek jenis Bentuk. Oleh itu, ia akan menggunakan kaedah cabutan dalam kelas Bentuk. Kemudian s akan menunjuk objek Circle jenis, dan ia akan menggunakan kaedah menarik kelas Circle. Akhirnya, s akan merujuk kepada objek jenis Triangle, dan ia akan menggunakan kaedah cabutan dalam kelas Triangle. Walaupun pembolehubah rujukan adalah jenis Bentuk, pengikatan berlaku bergantung pada jenis objek. Konsep ini dikenali sebagai Pengikatan Dinamik. Maklumat disediakan pada masa larian, jadi kelajuan pelaksanaan lebih lambat berbanding dengan statik yang mengikat.

Apakah Kesamaan Antara Pengikatan Statik dan Pengikatan Dinamik?

  • Kedua-dua ini berkaitan dengan polimorfisme yang membolehkan objek bertindak dalam pelbagai cara.

Apakah Perbezaan Antara Pengikatan Statik dan Pengikatan Dinamik?

Statik Mengikat vs Pengikatan Dinamik

Pengikatan Statik adalah jenis mengikat yang mengumpulkan semua maklumat yang diperlukan untuk memanggil fungsi semasa masa penyusunan. Binding Dinamik adalah jenis mengikat yang mengumpul semua maklumat yang diperlukan untuk memanggil fungsi semasa jangka masa.
 Masa Mengikat
Pengikatan Statik berlaku pada masa penyusunan. Pengikatan dinamik berlaku pada waktu larian.
Fungsi
Pengikatan Statik menggunakan maklumat jenis untuk mengikat. Binding 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. Pengikatan dinamik juga dikenali sebagai mengikat lewat.
Pelaksanaan
Kelajuan pelaksanaan adalah cepat dalam pengikatan statik. Kelajuan pelaksanaan adalah pengikatan dinamik yang rendah.
Contoh
Mengikat statik digunakan dalam kaedah overloading. Pengikatan dinamik digunakan dalam kaedah utama.

Ringkasan - Statik Binding vs Dynamic Binding 

Terdapat pautan antara kaedah panggilan dan definisi kaedah. Ia dikenali sebagai mengikat. Terdapat dua jenis pengikatan yang disebut pengikatan statik dan mengikat dinamik. Perbezaan di antara mengikat statik dan pengikatan dinamik adalah bahawa dalam pengikatan statik, pengikatan diselesaikan pada masa kompilasi sementara mengikat dinamik diselesaikan pada masa larian, yang merupakan masa sebenar pelaksanaan. Oleh kerana maklumat yang diperlukan disediakan sebelum masa berjalan, pengikatan statik adalah cepat dalam pelaksanaan berbanding dengan mengikat dinamik.

Muat turun PDF Static Binding vs Dynamic Binding

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar seperti peringatan kutipan. Sila muat turun versi PDF di sini: Perbezaan Antara Pengikatan Statik dan Pengikatan Dinamik

Rujukan:

1.Java Temubual 04 - Statik Mengikat Statik Dinamik Mengikat, Tutorial Mahika, 27 Dis. 2017. Boleh didapati di sini