Co to jest czysta funkcja wirtualna?

Prawie wszystkie typy programowania obiektowego (OOP), które tworzy programy i rozdziela sekcje kodu na „obiekty”, mają funkcję zwaną czystą funkcją wirtualną, która różni się od funkcji wirtualnej. Znana również jako funkcja abstrakcyjna, czysta funkcja wirtualna działa jako symbol zastępczy dla innych zmiennych i pobiera informacje z innych funkcji i klas w celu wypełnienia pustych miejsc. Zaletą korzystania z funkcji czysto wirtualnej jest to, że informacja jest plastyczna i może być zmieniana w zależności od użytkownika. Aby działać, musi istnieć klasa pochodna, z której pozyskiwane są dane.

Funkcja wirtualna jest podobna do czystej wersji. Oba mogą się zmieniać w zależności od wkładu użytkownika. Na przykład, jeśli użytkownik wpisze swoje imię i nazwisko, funkcja wirtualna zmieni się w całym programie, aby uwzględnić nazwę tego użytkownika. Różnica polega na tym, że funkcja wirtualna nie jest zależna od innych klas, ponieważ funkcja wirtualna ma swoje własne ciało, które przekazuje dane do innych klas i funkcji, które wywołują informacje, w tym przypadku nazwę użytkownika.

Natomiast funkcja czysto wirtualna nie ma żadnego ciała. Oznacza to, że sama funkcja abstrakcyjna jest bezużyteczna. Nie ma własnych danych i wywołanie klasy abstrakcyjnej bez żadnych informacji może spowodować błąd. Czysta funkcja wirtualna musi mieć klasę pochodną lub klasę, która zbiera dane, aby funkcja abstrakcyjna działała.

Klasa pochodna może być pytaniem lub obszarem, w którym użytkownik wprowadza jakiś rodzaj danych wejściowych, takich jak pole tekstowe. Informacje z tej klasy są następnie przesyłane do wszystkich połączonych czysto wirtualnych funkcji, koordynując odpowiedzi. Dopóki funkcja abstrakcyjna nie zostanie specjalnie wywołana, nie zostanie aktywowana, dopóki nie zostaną łatwo dostarczone dane.

Czysto wirtualne funkcje mają kilka zalet. Korzystanie z funkcji abstrakcyjnej zamiast tworzenia całego kodu znacznie ogranicza ilość kodu, który programista musi utworzyć, szczególnie w przypadku dużych programów, które stale wykorzystują te same informacje. Funkcja abstrakcyjna może być również zmodyfikowana przez programistę, aby zmienić sposób, w jaki program obsługuje dane, aby była bardziej wydajna. Informacje są oparte na klasach pochodnych, więc programy z pytaniami i złożonymi danymi wejściowymi dostosują dane do danych wprowadzonych przez użytkownika bez przypadkowego wywołania przez program innej sekcji nieistotnego kodu.