Funzione virtuale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
fix prosa
 
Riga 1:
{{F|programmazione|febbraio 2013}}
Nella [[programmazione orientata agli oggetti]], una '''funzione virtuale''' o '''metodo virtuale''' è una funzione o metodo di una classe base che può essere ereditata e ridefinita (''[[override]]'') da una classe derivata. Rappresenta una parte importante del concetto di [[polimorfismo (informatica)|polimorfismo]].
Una '''funzione''' (o [[metodo (programmazione)|metodo]]) '''virtuale''' è parte importante del [[polimorfismo (informatica)|polimorfismo]] all'interno del paradigma di [[programmazione orientata agli oggetti]] ('''OOP''', '''O'''bject '''O'''riented '''P'''rogramming).
 
Una funzione virtuale permette a una classe derivata di ridefinire ([[override]]) le funzioni che eredita dalle classi da cui deriva, anche nel caso in cui la classe derivata sia [[conversione di tipo|convertita]] al tipo dell'oggetto da cui è derivata.
 
Nella OOP, quando una classe derivata eredita da una classe base, si può usare un oggetto della classe derivata sia come oggetto di tipo della classe base sia come oggetto di tipo della classe derivata. Se alcune funzioni sono ridefinite dalla classe derivata, la conversione di un oggetto derivato nel tipo della classe base causa una ambiguità: non è chiaro se si voglia chiamare la funzione come definita nella classe base o come ridefinita in quella derivata.