Hampir semua jenis pemrograman berorientasi objek (OOP), yang membuat program dan memisahkan bagian kode menjadi “objek”, memiliki fungsi yang disebutfungsi virtualmurni, yang berbeda dari fungsi virtual.Juga dikenal sebagai fungsi abstrak, fungsi virtual murni bertindak sebagai pengganti variabel lain dan mengambil informasi dari fungsi dan kelas lain untuk mengisi bagian yang kosong.Keuntungan menggunakan fungsi virtual murni adalah informasinya dapat ditempa dan dapat diubah sesuai dengan masing-masing pengguna.Untuk bekerja, harus ada kelas turunan dari mana data diperoleh.
Wanita melakukan handstand dengan komputer
Fungsi virtual mirip dengan varian murni.Keduanya dapat berubah tergantung pada input pengguna.Misalnya, jika pengguna mengetikkan namanya, fungsi virtual akan berubah untuk seluruh program untuk mengakomodasi nama pengguna tersebut.Perbedaannya adalah bahwa fungsi virtual tidak bergantung pada kelas lain, karena fungsi virtual memiliki tubuhnya sendiri yang meneruskan data ke kelas lain dan fungsi yang memanggil informasi, dalam contoh ini nama pengguna.
Sebaliknya, fungsi virtual murni tidak memiliki tubuh.Ini berarti bahwa, dengan sendirinya, fungsi abstrak tidak berguna.Itu tidak memiliki data sendiri dan, jika kelas abstrak dipanggil tanpa informasi apa pun, itu bisa mengakibatkan kesalahan.Fungsi virtual murni harus memiliki kelas turunan, atau kelas yang mengumpulkan data agar fungsi abstrak dapat berfungsi.
Kelas turunan dapat berupa pertanyaan atau area di mana pengguna memasukkan semacam input, seperti bidang teks.Informasi dari kelas ini kemudian ditransfer ke semua fungsi virtual murni yang terhubung, mengoordinasikan jawabannya.Kecuali jika fungsi abstrak dipanggil secara khusus, itu tidak akan aktif kecuali ada data yang siap disediakan.
Fungsi virtual murni memiliki beberapa keunggulan.Menggunakan fungsi abstrak alih-alih membuat seluruh badan pengkodean secara substansial membatasi jumlah kode yang perlu dibuat oleh programmer, terutama untuk program besar yang menggunakan informasi yang sama secara terus menerus.Fungsi abstrak juga dapat diubah oleh programmer untuk mengubah cara program menangani data agar lebih efisien.Informasi didasarkan pada kelas turunan, sehingga program dengan pertanyaan dan masukan kompleks akan menyesuaikan data sesuai dengan masukan pengguna tanpa program secara tidak sengaja memanggil bagian lain dari kode yang tidak relevan.