Skip to main content

Vad är ren virtuell funktion?

Nästan alla typer av objektorienterad programmering (OOP), som skapar program och separerar kodavsnitten i "objekt", har en funktion som kallas en ren virtuell funktion, som skiljer sig från en virtuell funktion.Även känd som en abstrakt funktion fungerar en ren virtuell funktion som en platshållare för andra variabler och tar information från andra funktioner och klasser för att fylla i tomma ämnen.Fördelen med att använda en ren virtuell funktion är att informationen är formbar och kan ändras enligt varje användare.För att arbeta måste det finnas en härledd klass från vilken data förvärvas.

En virtuell funktion liknar den rena varianten.Båda kan ändras beroende på användarens ingång.Till exempel, om en användare skriver i sitt namn, kommer den virtuella funktionen att ändras för hela programmet för att tillgodose användarens namn.Skillnaden är att en virtuell funktion inte är beroende av andra klasser, eftersom den virtuella funktionen har sin egen kropp som skickar data till andra klasser och funktioner som kräver information, i detta exempel användarens namn.

En ren virtuellFunktion har däremot ingen kropp.Detta innebär att den abstrakta funktionen i sig är värdelös.Den har inga egna uppgifter och om den abstrakta klassen kallas utan information kan det resultera i ett fel.Den rena virtuella funktionen måste ha en härledd klass, eller en klass som samlar in data för den abstrakta funktionen, för att fungera.

Den härledda klassen kan vara en fråga eller ett område där en användare kommer in i någon form av input, till exempel ett textfält.Informationen från denna klass överförs sedan till alla anslutna rena virtuella funktioner och samordnar svaren.Såvida inte den abstrakta funktionen specifikt kallas, kommer den inte att aktiveras om det inte lätt levereras data.

Rena virtuella funktioner har flera fördelar.Att använda en abstrakt funktion istället för att skapa en hel kodande organ begränsar väsentligt mängden kod som programmeraren behöver skapa, särskilt för stora program som använder samma information kontinuerligt.Den abstrakta funktionen kan också justeras av programmeraren för att ändra hur programmet hanterar data för att göra det mer effektivt.Informationen är baserad på härledda klasser, så program med frågor och komplexa input kommer att skräddarsy uppgifterna enligt användarens input utan att programmet av misstag kallar ett annat avsnitt i irrelevant kod.