Perbezaan Utama – Pengikatan Statik lwn Pengikatan Dinamik
Bahasa pengaturcaraan seperti Java dan C menyokong Pengaturcaraan Berorientasikan Objek (OOP). Ia membenarkan membina perisian menggunakan objek. Terdapat banyak objek dalam sistem perisian atau program. Objek ini mempunyai atribut dan kaedah. Atribut menerangkan ciri. Kaedah menerangkan tindakan yang boleh dilakukan oleh objek. Data dihantar 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. Ia adalah pengikatan statik dan pengikatan dinamik. Perbezaan utama antara pengikatan statik dan pengikatan dinamik ialah, dalam pengikatan statik, pengikatan diselesaikan pada masa penyusunan manakala pengikatan dinamik diselesaikan pada masa larian, iaitu masa pelaksanaan sebenar. Artikel ini membincangkan perbezaan antara dua mekanisme pengikatan ini.
Apakah itu Pengikatan Statik?
Pengikatan ialah pautan antara panggilan kaedah dan definisi kaedah.
Rajah 01: Ikatan Statik dan Ikatan Dinamik
Rujuk atur cara di bawah yang ditulis dalam Java.
kelas awam A{
kaedah kosong awam1(){
System.out.println(“Kaedah1”);
}
kaedah kosong awam2(){
System.out.println(“Kaedah2”);
}
utama kekosongan statik awam(String args){
A obj=new A();
obj.method1();
obj.method2();
}
}
Mengikut program di atas, objek jenis A dicipta. Kemudian kaedah1 dan kaedah2 dipanggil. Mengenal pasti kaedah mana yang perlu dipanggil untuk pelaksanaan dikenali sebagai mengikat. Pernyataan obj.method1() akan memanggil method1() dan obj.method2() akan memanggil method2(). Pautan ini mengikat.
Dalam pengikatan statik, pengikatan diselesaikan pada masa penyusunan oleh pengkompil. Ia juga dikenali sebagai pengikatan awal. Pengikatan berlaku sebelum program benar-benar berjalan. Pengikatan statik berlaku dalam kaedah lebihan beban. Rujuk atur cara di bawah yang ditulis dalam Java.
Pengiraan kosong awam{
jumlah batal awam(int x, int y){
System.out.println(“Jumlah ialah “, x+y);
}
jumlah batal awam(ganda x, dua kali y){
System.out.println(“Jumlah ialah “, x+y);
}
utama kekosongan statik awam(String args){
Kal pengiraan=Pengiraan baharu();
cal.sum(2, 3);
cal.sum(5.1, 6.4);
}
}
Mengikut atur cara di atas, apabila melepasi dua integer, kaedah dengan dua integer akan digunakan. Apabila menghantar dua nilai berganda, kaedah yang sepadan dengan dua nilai berganda akan digunakan. Proses pengikatan ini berlaku pada masa penyusunan. 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 masa jalan, jadi ia meningkatkan kecekapan program dan kelajuan pelaksanaan.
Apakah itu Pengikatan Dinamik?
Dalam Dynamic Binding pengkompil tidak menyelesaikan pengikatan pada masa penyusunan. Pengikatan berlaku pada masa larian. Ia juga dikenali sebagai pengikatan lewat. Pengikatan Dinamik berlaku dalam kaedah mengatasi. Rujuk program yang ditulis dalam Java.
kelas awam Bentuk(){
cabutan batal awam(){
System.out.println(“Lukis bentuk”);
}
}
kelas awam Bulatan() memanjangkan Bentuk{
cabutan batal awam(){
System.out.println(“Lukis bulatan”);
}
}
kelas awam Segitiga() memanjangkan Bentuk{
cabutan batal awam(){
System.out.println(“Lukis segitiga”);
}
}
Ujian kelas awam{
utama kekosongan statik awam(String args){
Bentuk s;
s=Bentuk baharu();
s.draw();
s=Bulatan baharu();
s.draw();
s=Segitiga baharu();
s.draw();
}
}
Mengikut program di atas, kelas Shape mempunyai kaedah draw(). Bulatan Kelas dan Segitiga kelas memanjangkan kelas Bentuk. Bulatan Kelas dan Segitiga kelas boleh mewarisi atribut dan kaedah Bentuk kelas. Oleh itu, kelas Shape ialah kelas super atau kelas induk. Bulatan Kelas dan Segitiga Kelas ialah subkelas atau kelas terbitan. Kelas ini juga mempunyai kaedah draw() dengan pelaksanaannya sendiri. Oleh itu, kaedah draw() dalam kelas super ditindih.
Dalam kaedah utama, objek berbeza dipanggil. Terdapat pembolehubah 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 ke objek jenis Shape. Oleh itu, ia akan menggunakan kaedah cabutan dalam kelas Shape. Kemudian s akan menunjuk objek jenis Bulatan, dan ia akan menggunakan kaedah cabutan kelas Bulatan. Akhir sekali, s akan merujuk kepada objek jenis Triangle, dan ia akan menggunakan kaedah cabutan dalam kelas Triangle. Walaupun pembolehubah rujukan adalah jenis Bentuk, pengikatan bergantung pada jenis objek. Konsep ini dikenali sebagai Dynamic Binding. Maklumat disediakan pada masa berjalan, jadi kelajuan pelaksanaan adalah lebih perlahan berbanding dengan pengikatan statik.
Apakah Persamaan Antara Ikatan Statik dan Ikatan Dinamik?
Kedua-dua ini berkaitan dengan polimorfisme yang membenarkan objek berkelakuan dalam pelbagai cara
Apakah Perbezaan Antara Ikatan Statik dan Ikatan Dinamik?
Ikatan Statik lwn Ikatan Dinamik |
|
Pengikatan Statik ialah jenis pengikatan yang mengumpul semua maklumat yang diperlukan untuk memanggil fungsi semasa masa penyusunan. | Pengikatan Dinamik ialah jenis pengikatan yang mengumpulkan semua maklumat yang diperlukan untuk memanggil fungsi semasa masa jalankan. |
Masa Pengikatan | |
Pengikatan Statik berlaku pada masa penyusunan. | Pengikatan dinamik berlaku pada masa berjalan. |
Fungsi | |
Ikatan Statik menggunakan maklumat jenis untuk pengikatan. | Dynamic Binding menggunakan objek untuk diselesaikan untuk mengikat. |
Objek Sebenar | |
Ikatan statik tidak menggunakan objek sebenar untuk mengikat. | Ikatan dinamik, gunakan objek sebenar untuk mengikat. |
Sinonim | |
Pengikatan statik juga dikenali sebagai pengikatan awal. | Ikatan dinamik juga dikenali sebagai pengikatan lewat. |
Pelaksanaan | |
Kelajuan pelaksanaan adalah pantas dalam pengikatan statik. | Kelajuan pelaksanaan adalah rendah dalam pengikatan dinamik. |
Contoh | |
Ikatan statik digunakan dalam kaedah lebihan beban. | Pengikatan dinamik digunakan dalam mengatasi kaedah. |
Ringkasan – Ikatan Statik lwn Ikatan Dinamik
Terdapat pautan antara panggilan kaedah dan definisi kaedah. Ia dikenali sebagai mengikat. Terdapat dua jenis pengikatan yang dipanggil pengikatan statik dan pengikatan dinamik. Perbezaan antara pengikatan statik dan pengikatan dinamik ialah dalam pengikatan statik, pengikatan diselesaikan pada masa penyusunan manakala pengikatan dinamik diselesaikan pada masa larian, iaitu masa pelaksanaan sebenar. Memandangkan maklumat yang diperlukan disediakan sebelum masa jalankan, pengikatan statik adalah pantas dalam pelaksanaan berbanding dengan pengikatan dinamik.
Muat turun PDF Pengikatan Statik lwn Pengikatan Dinamik
Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian seperti dalam nota petikan. Sila muat turun versi PDF di sini: Perbezaan Antara Pengikatan Statik dan Pengikatan Dinamik