Skip to main content

Dynamic Binding



Dalam C++, dynamic binding terjadi ketika sebuah virtual function dipanggil menggunakan sebuah reference atau sebuah pointer ke sebuah base class. Faktanya, reference atau pointer tersebut mungking merujuk ke base class yang lain atau derived-class object yang merupakan inti untuk dynamic binding. Pemanggilan virtual functions dipanggil melalui sebuah reference atau pointer yang di jalankan saat program berjalan (run time). Fungsi yang dipanggil adalah salah satu fungsi yang di defenisikan oleh tipe obyek yang sebenarnya kemana reference atau pointer itu merujuk.

Dynamic binding membolehkan pengguna menulis program yang menggunakan obyek dari bermacam tipe yang ada dalam hierarki inheritance tanpa memperdulikan tipe spesifik obyek. Program yang menggunakan classes perlu untuk tidak bingung antara fungsi yang didefenisikan pada base class ataupun pada derived class-nya.

Bayangkan sebuah hirarki class yang disebut Shape berfungsi sebagai dasar untuk kelas lainnya kelas (Triangle dan Square):

class Shape
{
public:
void virtual Draw() {} //dummy implementation
//..
};
class Square
{
public:
void Draw(); //overriding Shape::Draw
}
class Triangle
{
public:
void Draw(); //overriding Shape::Draw
}

Draw () adalah sebuah fungsi virtual dalam Shape. Fungsi Draw() dideklarasikan secara virtual dalam base class untuk mengaktifkan derived class untuk mengabaikan dan menyediakan implementasi sendiri. Keindahan dalam polymorphism adalah sebuah pointer atau referensi ke Shape sebenarnya boleh mengarah ke obyek dari Square atau Triangle:

void func(const Shape* s)
{
s->Draw()
}
int main()
{
Shape *p1= new Triangle;
Shape *p2 = new Square;
func(p1);
func(p2);
}

C++ membedakan antara statis dan dinamis obyek. Jenis statis ditentukan pada waktu kompilasi. Ini adalah jenis yang ditetapkan dalam Deklarasi. Sebagai contoh, kedua jenis statis p1 dan p2 adalah “Shape *”. Namun, jenis dinamis ini pointer ditentukan oleh jenis objek yang mereka rujuk: “Triangle *” dan “Square *”, masing-masing. Ketika func () memanggil fungsi anggota Draw () , C++ resolve yang dinamis jenis s dan memastikan bahwa sesuai versi Draw () adalah invoked. Perhatikan bagaimana kuat dinamis mengikat : Anda dapat berasal dari kelas-kelas tambahan yang akan melakukan override kepada fungsi Draw () bahkan setelah func () dikompilasi. Ketika func () invokes Draw () , C++ masih akan menyelesaikan panggilan dinamis sesuai dengan jenis s.

Comments

Popular posts from this blog

Keanggotaan, Keuntungan, dan Konfigurasi Umum VLAN

Keanggotaan dalam suatu  VLAN dapat dikelompokkan berdasarkan port yang digunakan, MAC address, atau tipe protokol yang digunakan. Berdasarkan Port Keanggotaan pada suatu VLAN dapat di dasarkan pada port yang digunakan oleh VLAN tersebut. Sebagai contoh, pada bridge/switch dengan 4 port, port 1, 2,  dan 4 merupakan VLAN 1 sedang port 3 dimiliki oleh VLAN 2, lihat Tabel 2.1 berikut ini. Tabel 2.1 VLAN berdasarkan port Port 1 2 3 4 VLAN ID 2 2 1 2 Kelemahannya adalah pengguna tidak bisa untuk berpindah-pindah. Apabila harus berpindah maka administrator  jaringan harus mengkonfigurasikan ulang. Berdasarkan MAC Address Keanggotaan suatu VLAN didasarkan pada MAC address dari setiap  komputer yang dimiliki oleh pengguna. Switch akan mencatat semua MAC address yang dimiliki oleh setiap Virtual LAN. Kelebihannya apabila pengguna berpindah-pindah maka dia akan tetap terkonfigurasi sebagai anggota dari VLAN tersebut. Kekurangannya adalah setiap mesin harus dikonfigurasi secara manual. S

Protokol Pendukung VoIP

Protokol -protokol yang menjadi penunjang untuk  jaringan VoIP adalah : Protokol TCP/IPTCP/IP (Transfer Control Protocol/Internet Protocol) merupakan sebuah protokol yang digunakan pada jaringan Internet. Protokol ini terdiri dari dua bagian besar, yaitu TCP dan IP. Application layer Fungsi utama lapisan ini adalah pemindahan file. Perpindahan file dari sebuah sistem ke sistem lainnya yang berbeda memerlukan suatu sistem pengendalian untuk menangatasi adanya ketidak cocokan sistem file yang berbeda beda. Protokol ini berhubungan dengan aplikasi. Salah satu contoh aplikasi yang telah dikenal misalnya HTTP (Hypertext Transfer Protocol) untuk web, FTP(File Transfer Protocol) untuk perpindahan file, dan TELNET untuk terminal maya jarak jauh. TCP (Transmission Control Protocol) Dalam mentransmisikan data pada layer Transpor ada dua protokol yang berperan yaitu TCP danUDP. TCP merupakan protokol yang connection-oriented yang artinya menjaga reliabilitas hubungan komunikadasi end-to-e

Jenis Router, Keutungan, dan Kerugian Router

Ada tiga  jenis router yang biasa digunakan dalam  jaringan komputer , yaitu: Router PC Router PC adalah komputer dengan sistem operasi yang memiliki fasilitas untuk membagi  dan men-sharing IP Address. Perangkat jaringan (PC) yang terhubung ke komputer tersebut akan dapat menikmati IP Address atau koneksi internet yang disebarkan oleh sistem operasi tersebut. Contoh sistem operasi yang dapat digunakan adalah semua sistem operasi berbasis client-server, seperti Windows NT, Windows NT 4.0, Windows 2000 server, Windows 2003 Server, MikroTik (Berbasis Linux), dan lain-lain. Router Aplikasi Router aplikasi adalah aplikasi yang dapat di-install pada sistem operasi sehingga sistem operasi tersebut akan memiliki kemampuan seperti router. Contoh aplikasi ini adalah Winroute, WinGate, SpyGate, dan WinProxy. Router Hardware Router hardware adalah hardware yang memiliki kemampuan seperti router sehingga dari hardware tersebut dapat memancarkan atau membagi IP Address dan men-sharing IP