Was ist reine virtuelle Funktion?
Nahezu alle Arten der objektorientierten Programmierung (OOP), die Programme erstellt und die Codeabschnitte in „Objekte“ unterteilt, haben eine Funktion, die als reine virtuelle Funktion bezeichnet wird und sich von einer virtuellen Funktion unterscheidet. Eine reine virtuelle Funktion, die auch als abstrakte Funktion bezeichnet wird, fungiert als Platzhalter für andere Variablen und verwendet Informationen aus anderen Funktionen und Klassen, um die Lücken auszufüllen. Der Vorteil einer rein virtuellen Funktion besteht darin, dass die Informationen formbar sind und je nach Benutzer geändert werden können. Um zu arbeiten, muss es eine abgeleitete Klasse geben, von der die Daten erfasst werden.
Eine virtuelle Funktion ähnelt der reinen Variante. Beide können sich je nach Benutzereingabe ändern. Wenn ein Benutzer beispielsweise seinen Namen eingibt, ändert sich die virtuelle Funktion für das gesamte Programm, um den Namen des Benutzers aufzunehmen. Der Unterschied besteht darin, dass eine virtuelle Funktion nicht von anderen Klassen abhängig ist, da die virtuelle Funktion einen eigenen Körper hat, der die Daten an andere Klassen und Funktionen weitergibt, die die Informationen anfordern, in diesem Beispiel den Namen des Benutzers.
Eine rein virtuelle Funktion hat dagegen keinen Körper. Dies bedeutet, dass die abstrakte Funktion für sich genommen unbrauchbar ist. Es hat keine eigenen Daten und wenn die abstrakte Klasse ohne Informationen aufgerufen wird, kann dies zu einem Fehler führen. Die reine virtuelle Funktion muss über eine abgeleitete Klasse verfügen oder über eine Klasse, die Daten sammelt, damit die abstrakte Funktion funktioniert.
Die abgeleitete Klasse kann eine Frage oder ein Bereich sein, in den ein Benutzer eine Art von Eingabe eingibt, beispielsweise ein Textfeld. Die Informationen aus dieser Klasse werden dann an alle angeschlossenen reinen virtuellen Funktionen übertragen und die Antworten koordiniert. Sofern die abstrakte Funktion nicht speziell aufgerufen wird, wird sie nur aktiviert, wenn bereitwillig bereitgestellte Daten vorliegen.
Reine virtuelle Funktionen haben mehrere Vorteile. Die Verwendung einer abstrakten Funktion anstelle der Erstellung eines gesamten Codierungskörpers schränkt die Menge an Code, die der Programmierer erstellen muss, erheblich ein, insbesondere bei großen Programmen, die kontinuierlich dieselben Informationen verwenden. Die abstrakte Funktion kann auch vom Programmierer angepasst werden, um die Art und Weise zu ändern, in der das Programm Daten verarbeitet, um sie effizienter zu gestalten. Die Informationen basieren auf abgeleiteten Klassen, daher passen Programme mit Fragen und komplexen Eingaben die Daten an die Eingaben des Benutzers an, ohne dass das Programm versehentlich einen anderen Abschnitt irrelevanten Codes aufruft.