Skip to main content

Mi a tiszta virtuális funkció?

Szinte minden típusú objektum-orientált programozás (OOP), amely programokat hoz létre és elválasztja a kódszakaszokat „objektumokba”, egy tiszta virtuális funkciónak nevezett funkcióval rendelkezik, amely különbözik a virtuális függvénytől.Absztrakt funkció néven is ismert, a tiszta virtuális funkció más változók helyőrzőjeként működik, és információkat szerez más funkciókból és osztályokból az üres kitöltésére.A tiszta virtuális funkció használatának előnye, hogy az információ temetésre teremthető, és minden felhasználó szerint megváltoztatható.A munkához egy származtatott osztálynak kell lennie, amelyből az adatok beszerzése.

A virtuális függvény hasonló a tiszta változathoz.Mindkettő képes megváltozni a felhasználó bemenetétől függően.Például, ha a nevében szereplő felhasználói típusok, a virtuális funkció az egész program számára megváltozik, hogy megfeleljen a felhasználó nevének.A különbség az, hogy a virtuális funkció nem függ más osztályoktól, mivel a virtuális funkciónak megvan a saját teste, amely az adatokat átadja más osztályoknak és funkcióknak, amelyek az információt igénylik, ebben a példában a felhasználó nevében.

Egy tiszta virtuális virtuálisEzzel szemben a funkciónak nincs teste.Ez azt jelenti, hogy önmagában az absztrakt funkció haszontalan.Nincs saját adata, és ha az absztrakt osztályt információk nélkül hívják, akkor hibát okozhat.A tiszta virtuális funkciónak rendelkeznie kell egy származtatott osztálytal, vagy egy olyan osztálygal, amely adatokat gyűjt az absztrakt funkcióhoz.-Az ebből az osztályból származó információkat ezután az összes csatlakoztatott tiszta virtuális funkcióba továbbítják, a válaszok koordinálásával.Hacsak az absztrakt funkciót kifejezetten nem hívják, akkor csak akkor aktiválódik, ha nincs könnyen szolgáltatott adatok.

A tiszta virtuális funkcióknak számos előnye van.Az absztrakt funkció használata a teljes kódoló test létrehozása helyett lényegesen korlátozza a programozó által létrehozott kód mennyiségét, különösen olyan nagy programoknál, amelyek folyamatosan használják ugyanazt az információt.Az absztrakt funkciót a programozó is megcsinálja, hogy megváltoztassa a program kezelését az adatok hatékonyabbá tétele érdekében.Az információk a származtatott osztályokon alapulnak, tehát a kérdésekkel és a komplex bemenetekkel rendelkező programok az adatokat a felhasználó bemenete szerint alakítják ki anélkül, hogy a program véletlenül felhívná a irreleváns kód másik részét.