Skip to main content

Wat is pure virtuele functie?

Bijna alle soorten objectgeoriënteerde programmering (OOP), die programma's creëert en de secties van code scheidt in 'objecten', hebben een functie genaamd een pure virtuele functie, die verschilt van een virtuele functie.Ook bekend als een abstracte functie, werkt een pure virtuele functie als een tijdelijke aanduiding voor andere variabelen en neemt informatie van andere functies en klassen om de lege plekken in te vullen.Het voordeel van het gebruik van een pure virtuele functie is dat de informatie vervormbaar is en volgens elke gebruiker kan worden gewijzigd.Om te werken moet er een afgeleide klasse zijn waaruit de gegevens worden verkregen.

Een virtuele functie is vergelijkbaar met de pure variant.Beide kunnen veranderen, afhankelijk van de invoer van de gebruiker.Als een gebruiker bijvoorbeeld zijn of haar naam typt, verandert de virtuele functie voor het hele programma om de naam van die gebruiker tegemoet te komen.Het verschil is dat een virtuele functie niet afhankelijk is van andere klassen, omdat de virtuele functie zijn eigen lichaam heeft die de gegevens doorgeeft aan andere klassen en functies die de informatie vragen, in dit voorbeeld de naam van de gebruiker.

Een puur virtueelFunctie heeft daarentegen geen lichaam.Dit betekent dat op zichzelf de abstracte functie nutteloos is.Het heeft geen eigen gegevens en, als de abstracte klasse zonder enige informatie wordt aangeroepen, kan dit leiden tot een fout.De pure virtuele functie moet een afgeleide klasse hebben, of een klasse die gegevens verzamelt voor de abstracte functie, om te werken.

De afgeleide klasse kan een vraag of een gebied zijn waar een gebruiker een soort invoer invoert, zoals een tekstveld.De informatie van deze klasse wordt vervolgens overgedragen naar alle verbonden pure virtuele functies, waarbij de antwoorden worden gecoördineerd.Tenzij de abstracte functie specifiek wordt aangeroepen, wordt deze niet geactiveerd tenzij er gemakkelijk geleverde gegevens zijn.

Pure virtuele functies hebben verschillende voordelen.Het gebruik van een abstracte functie in plaats van het maken van een volledige coderende instantie beperkt de hoeveelheid code die de programmeur moet maken, vooral voor grote programma's die dezelfde informatie continu gebruiken.De abstracte functie kan ook door de programmeur worden aangepast om te wijzigen hoe het programma omgaat met gegevens om het efficiënter te maken.De informatie is gebaseerd op afgeleide klassen, dus programma's met vragen en complexe invoer zullen de gegevens aanpassen volgens de invoer van de gebruiker zonder dat het programma per ongeluk een andere sectie van irrelevante code oproept.