Perbedaan antara pengikatan statis dan pengikatan dinamis

Perbedaan antara pengikatan statis dan pengikatan dinamis

Perbedaan utama - statis Mengikat vs mengikat dinamis
 

Bahasa pemrograman seperti Java dan C# Dukungan Objek Berorientasi Pemrograman (OOP). Ini memungkinkan membangun perangkat lunak menggunakan objek. Ada banyak objek dalam sistem perangkat lunak atau program. Objek -objek ini memiliki atribut dan metode. Atribut menggambarkan karakteristik. Metode menggambarkan tindakan yang dapat dilakukan oleh objek. Data dilewatkan melalui objek menggunakan metode. Nilai yang diperlukan dikirim melalui panggilan metode dengan parameter. Implementasi metode aktual ada dalam definisi metode. Ada tautan antara metode panggilan dan metode metode. Itu dikenal sebagai mengikat. Ada dua jenis binding. Mereka mengikat statis dan ikatan dinamis. Itu perbedaan utama Antara pengikatan statis dan pengikatan dinamis adalah itu, Dalam ikatan statis, pengikatan diselesaikan pada waktu kompilasi sementara pengikatan dinamis diselesaikan pada waktu berjalan, yang merupakan waktu eksekusi yang sebenarnya. Artikel ini membahas perbedaan antara dua mekanisme yang mengikat ini.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa itu ikatan statis
3. Apa itu Dynamic Binding
4. Kesamaan antara pengikatan statis dan pengikatan dinamis
5. Perbandingan berdampingan - pengikatan statis vs pengikatan dinamis dalam bentuk tabel
6. Ringkasan

Apa itu ikatan statis?

Ikatan adalah tautan antara metode panggilan dan definisi metode.

Gambar 01: Ikatan statis dan pengikatan dinamis

Rujuk program di bawah ini yang ditulis dalam java.

Kelas Publik A

public void method1 ()

Sistem.keluar.println ("Method1");

public void method2 ()

Sistem.keluar.println ("Method2");

public static void main (string [] args)

A OBJ = a baru ();

OBJ.method1 ();

OBJ.method2 ();

Menurut program di atas, objek tipe A dibuat. Kemudian Method1 dan Method2 dipanggil. Mengidentifikasi metode mana yang harus dipanggil untuk eksekusi dikenal sebagai pengikatan. Pernyataan OBJ.method1 () akan memanggil metode1 () dan obj.method2 () akan memanggil metode2 (). Tautan ini mengikat.

Dalam ikatan statis, pengikatan diselesaikan pada waktu kompilasi oleh kompiler. Itu juga dikenal sebagai mengikat awal. Ikatan terjadi sebelum program benar -benar berjalan. Ikatan statis terjadi dalam metode kelebihan metode. Rujuk program di bawah ini yang ditulis dalam java.

Perhitungan public void

public void sum (int x, int y)

Sistem.keluar.println (“jumlah adalah“, x+y);

public void sum (double x, double y)

Sistem.keluar.println (“jumlah adalah“, x+y);

public static void main (string [] args)

Perhitungan Cal = Perhitungan Baru ();

Cal.jumlah (2,3);

Cal.jumlah (5.1, 6.4);

Menurut program di atas, saat melewati dua bilangan bulat, metode dengan dua bilangan bulat akan dipanggil. Saat melewati dua nilai ganda, metode yang sesuai dengan dua nilai ganda akan dipanggil. Proses pengikatan ini terjadi pada saat kompilasi. Kompiler tahu bahwa itu harus memanggil metode jumlah dengan dua nilai integer untuk Cal.Jumlah (2,3). Untuk Cal (5.1,6.4), itu akan memanggil metode jumlah dengan dua nilai ganda. Semua informasi yang diperlukan diketahui sebelum runtime, sehingga meningkatkan efisiensi program dan kecepatan eksekusi.

Apa itu Dynamic Binding?

Dalam ikatan dinamis kompiler tidak menyelesaikan ikatan pada waktu kompilasi. Ikatan terjadi pada saat berjalan. Itu juga dikenal sebagai Late Binding. Ikatan dinamis terjadi dalam metode utama.  Lihat program yang ditulis dalam java.

bentuk kelas publik ()

public void draw ()

Sistem.keluar.println ("Bentuk gambar");

Public Class Circle () memperluas bentuk

public void draw ()

Sistem.keluar.println ("Draw Circle");

Triangle kelas publik () memperluas bentuk

public void draw ()

Sistem.keluar.println ("Draw Triangle");

tes kelas publik

public static void main (string [] args)

Bentuk s;

s = bentuk baru ();

S.menggambar();

s = Circle baru ();

S.menggambar();

s = triangle baru ();

S.menggambar();

Menurut program di atas, bentuk kelas memiliki metode draw (). Lingkaran Kelas dan Segitiga Kelas Memperpanjang Kelas Bentuk. Lingkaran kelas dan segitiga kelas dapat mewarisi atribut dan metode bentuk kelas. Oleh karena itu, bentuk kelas adalah kelas super atau kelas induk. Lingkaran kelas dan segitiga kelas adalah sub -kelas atau kelas yang diturunkan. Kelas -kelas ini juga memiliki metode draw () dengan implementasi mereka sendiri.  Oleh karena itu, metode draw () di kelas super ditimpa.

Dalam metode utama, objek yang berbeda dipanggil. Ada variabel referensi jenis bentuk, yaitu s. Kemudian, S memohon metode sesuai dengan kelas tertentu. Pada waktu kompilasi, kompiler hanya akan merujuk metode undian kelas super. Ketika eksekusi yang sebenarnya dimulai, itu akan mengarah pada pelaksanaan metode undian yang berbeda. Pertama, S akan menunjuk ke objek bentuk jenis. Oleh karena itu, ia akan memohon metode undian di kelas bentuk. Maka S akan mengarahkan objek tipe lingkaran, dan itu akan memohon metode draw dari kelas lingkaran. Akhirnya, S akan mengacu pada objek tipe segitiga, dan itu akan memohon metode gambar di kelas segitiga. Meskipun variabel referensi adalah bentuk tipe, ikatan kebetulan bergantung pada jenis objek. Konsep ini dikenal sebagai ikatan dinamis. Informasi disediakan pada waktu lari, sehingga kecepatan eksekusi lebih lambat dibandingkan dengan pengikatan statis.

Apa kesamaan antara ikatan statis dan pengikatan dinamis?

  • Keduanya terkait dengan polimorfisme yang memungkinkan objek berperilaku dalam berbagai cara.

Apa perbedaan antara pengikatan statis dan pengikatan dinamis?

Pengikatan statis vs mengikat dinamis

Ikatan statis adalah jenis ikatan yang mengumpulkan semua informasi yang diperlukan untuk memanggil fungsi selama waktu kompilasi. Ikatan Dinamis adalah jenis ikatan yang mengumpulkan semua informasi yang diperlukan untuk memanggil fungsi selama waktu berjalan.
 Waktu mengikat
Ikatan statis terjadi pada waktu kompilasi. Ikatan dinamis terjadi pada saat berjalan.
Kegunaan
Ikatan statis menggunakan informasi tipe untuk mengikat. Ikatan dinamis menggunakan objek untuk diselesaikan untuk mengikat.
 Objek aktual
Ikatan statis tidak menggunakan objek aktual untuk mengikat. Ikatan Dinamis, Gunakan objek aktual untuk mengikat.
Sinonim
Ikatan statis juga dikenal sebagai ikatan awal. Ikatan dinamis juga dikenal sebagai ikatan terlambat.
Eksekusi
Kecepatan eksekusi cepat dalam ikatan statis. Kecepatan eksekusi rendah dalam pengikatan dinamis.
Contoh
Ikatan statis digunakan dalam metode kelebihan metode. Ikatan dinamis digunakan dalam Method Overriding.

Ringkasan -Statis Mengikat vs mengikat dinamis 

Ada tautan antara metode panggilan dan metode metode. Itu dikenal sebagai mengikat. Ada dua jenis binding yang disebut pengikatan statis dan pengikatan dinamis. Perbedaan antara pengikatan statis dan pengikatan dinamis adalah bahwa dalam pengikatan statis, pengikatan diselesaikan pada waktu kompilasi sementara pengikatan dinamis diselesaikan pada waktu berjalan, yang merupakan waktu eksekusi yang sebenarnya. Karena informasi yang diperlukan disediakan sebelum waktu berjalan, pengikatan statis cepat dalam eksekusi dibandingkan dengan pengikatan dinamis.

Unduh PDF dari pengikatan statis vs pengikatan dinamis

Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi PDF di sini: Perbedaan antara pengikatan statis dan pengikatan dinamis

Referensi:

1.Wawancara Java 04 - Binding Static vs Dynamic Binding, Mahika Tutorials, 27 Des. 2017. Tersedia disini