Skip to main content

Hva er ren virtuell funksjon?

Nesten alle typer objektorientert programmering (OOP), som lager programmer og skiller kodeseksjonene i "objekter", har en funksjon som kalles en ren virtuell funksjon, som er forskjellig fra en virtuell funksjon.Også kjent som en abstrakt funksjon, fungerer en ren virtuell funksjon som en plassholder for andre variabler og tar informasjon fra andre funksjoner og klasser for å fylle ut emnene.Fordelen med å bruke en ren virtuell funksjon er at informasjonen er formbar og kan endres i henhold til hver bruker.For å jobbe må det være en avledet klasse som dataene er anskaffet fra.

En virtuell funksjon er lik den rene varianten.Begge er i stand til å endre avhengig av brukerens innspill.For eksempel, hvis en bruker skriver inn navnet hans, vil den virtuelle funksjonen endre seg for hele programmet for å imøtekomme brukerens navn.Forskjellen er at en virtuell funksjon ikke er avhengig av andre klasser, fordi den virtuelle funksjonen har sin egen kropp som gir dataene videre til andre klasser og funksjoner som krever informasjon, i dette eksemplet brukeren.

en ren virtuellFunksjon derimot har ingen kropp.Dette betyr at den abstrakte funksjonen i seg selv er ubrukelig.Den har ingen egen data, og hvis den abstrakte klassen kalles uten informasjon, kan det føre til en feil.Den rene virtuelle funksjonen må ha en avledet klasse, eller en klasse som samler data for den abstrakte funksjonen, for å fungere.

Den avledede klassen kan være et spørsmål eller et område der en bruker kommer inn i en slags inngang, for eksempel et tekstfelt.Informasjonen fra denne klassen blir deretter overført til alle tilkoblede rene virtuelle funksjoner, og koordinerer svarene.Med mindre den abstrakte funksjonen er spesifikt kalt, vil den ikke aktivere med mindre det er lett levert data.

Rene virtuelle funksjoner har flere fordeler.Å bruke en abstrakt funksjon i stedet for å lage et helt kodende organ begrenser vesentlig mengden kode programmereren trenger å lage, spesielt for store programmer som bruker samme informasjon kontinuerlig.Den abstrakte funksjonen kan også finjusteres av programmereren for å endre hvordan programmet håndterer data for å gjøre det mer effektivt.Informasjonen er basert på avledede klasser, så programmer med spørsmål og komplekse innspill vil skreddersy dataene i henhold til brukerens innspill uten at programmet ved et uhell kaller en annen del av irrelevant kode.