Skip to main content

Qual è la pura funzione virtuale?

Quasi tutti i tipi di programmazione orientata agli oggetti (OOP), che crea programmi e separa le sezioni del codice in "oggetti", hanno una funzione chiamata funzione virtuale pura, che è diversa da una funzione virtuale.Conosciuta anche come una funzione astratta, una funzione virtuale pura funge da segnaposto per altre variabili e prende informazioni da altre funzioni e classi per riempire gli spazi vuoti.Il vantaggio di utilizzare una funzione virtuale pura è che le informazioni sono malleabili e possono essere modificate in base a ciascun utente.Per funzionare, deve esserci una classe derivata da cui vengono acquisiti i dati.

Una funzione virtuale è simile alla variante pura.Entrambi sono in grado di modificare a seconda dell'input dell'utente.Ad esempio, se un utente tipi nel proprio nome, la funzione virtuale cambierà per l'intero programma per accogliere il nome di quell'utente.La differenza è che una funzione virtuale non dipende da altre classi, perché la funzione virtuale ha il proprio corpo che trasmette i dati ad altre classi e funzioni che richiedono le informazioni, in questo esempio il nome dell'utente.

Un puro virtualeLa funzione, al contrario, non ha alcun corpo.Ciò significa che, di per sé, la funzione astratta è inutile.Non ha dati propri e, se la classe astratta viene chiamata senza alcuna informazione, potrebbe comportare un errore.La funzione virtuale pura deve avere una classe derivata o una classe che raccoglie i dati per la funzione astratta, per funzionare.

La classe derivata può essere una domanda o un'area in cui un utente inserisce una sorta di input, come un campo di testo.Le informazioni di questa classe vengono quindi trasferite a tutte le funzioni virtuali pure connesse, coordinando le risposte.A meno che la funzione astratta non venga chiamata specificamente, non si attiverà a meno che non siano presenti dati forniti.

Le funzioni virtuali pure hanno diversi vantaggi.L'uso di una funzione astratta invece di creare un intero corpo di codifica limita sostanzialmente la quantità di codice che il programmatore deve creare, in particolare per programmi di grandi dimensioni che utilizzano continuamente le stesse informazioni.La funzione astratta può anche essere ottimizzata dal programmatore per modificare il modo in cui il programma gestisce i dati per renderli più efficienti.Le informazioni si basano su classi derivate, quindi i programmi con domande e input complessi personalizzano i dati in base all'ingresso dell'utente senza che il programma chiami accidentalmente un'altra sezione di codice irrilevante.