Cara Membedakan Fungsi Virtual dan Fungsi Virtual Murni

Perbedaan yang menonjol antara Fungsi Virtual dan Fungsi Virtual Murni adalah fungsi virtual adalah fungsi di kelas dasar yang dideklarasikan menggunakan kata kunci virtual sedangkan fungsi virtual murni adalah fungsi virtual di kelas dasar tanpa definisi fungsi.

Polimorfisme adalah konsep OOP yang penting . Hal ini memungkinkan suatu objek untuk mengambil banyak bentuk. Ada dua jenis polimorfisme yang disebut pengikatan awal dan pengikatan akhir. C++ adalah bahasa pemrograman yang mendukung OOP. Maka dari itu, programmer dapat mengimplementasikan konsep polimorfisme menggunakan C++.

Topik bahasan kami tentang:

  1. Apa itu Fungsi Virtual – Definisi, Fungsionalitas 2. Apa itu Fungsi Virtual Murni – Definisi, Fungsionalitas 3. Perbedaan Antara Fungsi Virtual dan Fungsi Virtual Murni – Perbandingan Perbedaan Utama

Istilah Utama

OOP, Fungsi Virtual Murni, Fungsi Virtual

Yang perlu anda ketahui tentang Fungsi Virtual

Fungsi virtual adalah fungsi di kelas dasar dengan kata kunci virtual. Ini membantu untuk menunjukkan kompiler bahwa tidak boleh ada hubungan statis ketika subkelas juga memiliki metode yang sama dengan beberapa implementasi lainnya. Lebih mudah untuk memahami konsep ini dengan merujuk program di bawah ini.

Gambar 1: Program C++

Dalam program di atas, Kelas A memiliki metode publik yang disebut tampilan. Kelas B mewarisi kelas A. Ia memiliki metode yang disebut tampilan. Kedua metode memiliki nama yang sama, tetapi memiliki implementasi yang berbeda. Dalam metode utama, ‘a’ adalah pointer sedangkan ‘b’ adalah objek tipe B. Kemudian ‘a’ ditugaskan dengan alamat b. Akhirnya, programmer dapat memanggil metode tampilan menggunakan ‘a’. Di sini, kita dapat mengamati bahwa output menunjukkan metode tampilan kelas A. Meskipun programmer menetapkan alamat ‘b’ ke ‘a’ (b = &a), itu masih mencetak metode tampilan kelas A. Itu terjadi karena untuk hubungan statis. Dengan kata lain, pemanggilan fungsi diperbaiki sebelum menjalankan program. Fungsi tampilan diatur selama kompilasi. Kita juga menyebutnya pengikatan awal.

Untuk membuat kompilator mengidentifikasi jenis objek pada waktu berjalan dan untuk mengikat panggilan fungsi, programmer dapat menggunakan kata kunci “virtual” dengan kelas dasar. Untuk mencapai itu, ia dapat melakukan sedikit modifikasi pada program di atas. Yaitu menambahkan kata kunci virtual di depan fungsi kelas dasar sebagai berikut.

Gambar 2: Program C++ dengan fungsi virtual

Sekarang fungsi tampilan di kelas A adalah fungsi virtual. Kita dapat mengamati bahwa output menunjukkan metode tampilan kelas B. Preferensi diberikan kepada tipe B. Dengan kata lain, fungsi dipanggil tergantung pada objeknya. Maka dari itu, ini adalah pengikatan dinamis atau pengikatan lambat.

 Apa itu Fungsi Virtual Murni

Fungsi virtual tidak melakukan tugas. Fungsi tanpa definisi atau implementasi adalah fungsi yang tidak melakukan apa-apa. Jadi, fungsi semacam ini adalah fungsi virtual murni. Selain itu, tidak mungkin untuk mendeklarasikan objek dari kelas yang memiliki fungsi virtual murni. Kelas-kelas itu disebut kelas dasar abstrak.

Gambar 3: Program C++ dengan fungsi virtual murni

Subclass harus memberikan definisi ke fungsi virtual dari kelas dasar. Tidak perlu definisi fungsi untuk fungsi tampilan di kelas A. Maka dari itu, tidak ada definisi fungsi. =0 menunjukkan kompiler bahwa fungsi tidak memiliki definisi. Maka dari itu, fungsi tampilan di kelas A disebut fungsi virtual murni. Karena kelas A memiliki fungsi virtual murni, itu disebut kelas dasar abstrak.

Perbedaan Antara Fungsi Virtual dan Fungsi Virtual Murni

Definisi

Fungsi virtual adalah fungsi anggota yang dideklarasikan dalam kelas dasar yang dapat didefinisikan ulang atau diganti oleh kelas turunan sedangkan fungsi virtual murni adalah fungsi virtual di kelas dasar tanpa implementasi. Jadi, inilah Perbedaan yang menonjol antara fungsi virtual dan fungsi virtual murni.

Definisi Fungsi

Selain itu, definisi fungsi adalah Perbedaan yang menonjol antara fungsi virtual dan fungsi virtual murni. Dalam fungsi virtual, kelas dasar memiliki definisi fungsi. Namun, dalam fungsi virtual murni, kelas dasar tidak memiliki definisi fungsi. Itu hanya memiliki deklarasi fungsi.

Kelas turunan

Juga, perbedaan lain antara fungsi virtual dan fungsi virtual murni adalah tidak semua kelas turunan harus mengesampingkan fungsi virtual kelas dasar. Namun, kelas turunan harus mengesampingkan fungsi virtual murni dari kelas dasar.

Kelas Abstrak

Selain itu, tidak ada konsep kelas abstrak dalam fungsi virtual. Jika setidaknya ada satu fungsi virtual murni, kelas itu disebut kelas abstrak.

Hasil

Kelas turunan yang tidak menimpa fungsi virtual kelas dasar tidak menyebabkan kesalahan kompilasi. Namun, kelas turunan yang tidak menimpa fungsi virtual murni dari kelas dasar menyebabkan kesalahan kompilasi. Maka dari itu, ini juga merupakan perbedaan antara fungsi virtual dan fungsi virtual murni.

Kata terakhir

Seorang programmer dapat menulis fungsi virtual dalam C++. Fungsi virtual murni adalah fungsi virtual khusus. Perbedaan yang menonjol antara fungsi virtual dan fungsi virtual murni adalah fungsi virtual adalah fungsi di kelas dasar yang dideklarasikan menggunakan kata kunci virtual sedangkan fungsi virtual murni adalah fungsi virtual di kelas dasar tanpa definisi fungsi.

Sumber bacaan:

1.Codearchery. Fungsi Virtual di C -50, Codearchery, 22 Maret 2017, Tersedia di sini . 2. “Fungsi Virtual C – Javatpoint.” www.javatpoint.com, Tersedia di sini . 3. “Fungsi Virtual dalam C .” GeeksforGeeks, 17 September 2018, Tersedia di sini . 4.“Fungsi Virtual Murni dan Kelas Abstrak di C .” GeeksforGeeks, 11 September 2018, Tersedia di sini .

Related Posts