Hvad er ren virtuel funktion?
Næsten alle typer objektorienteret programmering (OOP), der skaber programmer og adskiller kodeksens sektioner i "objekter", har en funktion kaldet en ren virtuel funktion, som er forskellig fra en virtuel funktion. Også kendt som en abstrakt funktion fungerer en ren virtuel funktion som en pladsholder for andre variabler og tager information fra andre funktioner og klasser for at udfylde emnerne. Fordelen ved at bruge en ren virtuel funktion er, at informationen er formbar og kan ændres i henhold til hver bruger. For at arbejde skal der være en afledt klasse, hvorfra dataene erhverves.
En virtuel funktion ligner den rene variant. Begge er i stand til at ændre sig afhængigt af brugerens input. For eksempel, hvis en bruger skriver i sit navn, ændres den virtuelle funktion for hele programmet for at imødekomme denne brugers navn. Forskellen er, at en virtuel funktion ikke er afhængig af andre klasser, fordi den virtuelle funktion har sin egen krop, der passerer dataene AlOng til andre klasser og funktioner, der kræver informationen, i dette eksempel har brugerens navn.
En ren virtuel funktion, derimod, ikke har nogen krop. Dette betyder, at den abstrakte funktion i sig selv er ubrugelig. Det har ingen egne data, og hvis den abstrakte klasse kaldes uden information, kan det resultere i en fejl. Den rene virtuelle funktion skal have en afledt klasse eller en klasse, der samler data for den abstrakte funktion, til at arbejde.
Den afledte klasse kan være et spørgsmål eller et område, hvor en bruger kommer ind i en slags input, såsom et tekstfelt. Oplysningerne fra denne klasse overføres derefter til alle tilsluttede rene virtuelle funktioner, der koordinerer svarene. Medmindre den abstrakte funktion specifikt kaldes, vil den ikke aktivere, medmindre der let leveres data.
Pure virtuelle funktioner har flere fordele. Brug af en abstrakt funktion i stedet for creatiNG En hel kodende krop begrænser væsentligt mængden af kode, som programmøren har brug for, især til store programmer, der bruger de samme oplysninger kontinuerligt. Den abstrakte funktion kan også justeres af programmereren for at ændre, hvordan programmet håndterer data for at gøre det mere effektivt. Oplysningerne er baseret på afledte klasser, så programmer med spørgsmål og komplekst input skræddersy dataene i henhold til brugerens input uden at programmet ved et uheld kalder et andet afsnit af irrelevant kode.