Skip to main content

Co to jest czysta funkcja wirtualna?

Prawie wszystkie typy programowania obiektowego (OOP), które tworzy programy i oddziela 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 przyjmuje informacje z innych funkcji i klas, aby wypełnić puste miejsca.Zaletą korzystania z czystej funkcji wirtualnej jest to, że informacje są plastyczne i można je zmienić według każdego użytkownika.Do pracy musi istnieć klasa pochodna, z której nabywane są dane.

Funkcja wirtualna jest podobna do czystego wariantu.Oba są w stanie zmienić w zależności od danych wejściowych użytkownika.Na przykład, jeśli użytkownik typu na jego nazwisko, funkcja wirtualna zmieni się dla całego programu, aby pomieścić nazwę tego użytkownika.Różnica polega na tym, że funkcja wirtualna nie jest zależna od innych klas, ponieważ funkcja wirtualna ma własne ciało, które przekazuje dane do innych klas i funkcji, które wymagają informacji, w tym przykładzie nazwa użytkownika.

Pure VirtualNatomiast funkcja nie ma żadnego ciała.Oznacza to, że sama funkcja abstrakcyjna jest bezużyteczna.Nie ma własnych danych, a jeśli klasa abstrakcyjna jest wywoływana bez żadnych informacji, może spowodować błąd.Czysta funkcja wirtualna musi mieć klasę pochodną lub klasę, która gromadzi dane dla funkcji abstrakcyjnej, aby działać.

Klasa pochodna może być pytaniem lub obszarem, w którym użytkownik wprowadza jakieś dane wejściowe, takie jak pole tekstowe.Informacje z tej klasy są następnie przesyłane do wszystkich połączonych czystych funkcji wirtualnych, koordynując odpowiedzi.O ile funkcja abstrakcyjna nie jest specjalnie wywołana, nie będzie aktywować, chyba że istnieją łatwo dostarczone dane.

Funkcje czyste wirtualne mają kilka zalet.Korzystanie z funkcji abstrakcyjnej zamiast tworzenia całego korpusu kodującego znacznie ogranicza ilość kodu, którą musi tworzyć programista, szczególnie w przypadku dużych programów, które używają tych samych informacji w sposób ciągły.Funkcja abstrakcyjna może również dostosować programista, aby zmienić sposób, w jaki program obsługuje dane, aby były bardziej wydajne.Informacje są oparte na klasach pochodnych, więc programy z pytaniami i złożonymi wkładami dostosują dane zgodnie z wejściem użytkownika bez programu przypadkowo wywołania innej sekcji nieistotnego kodu.