Funzione virtuale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
ValterVBot (discussione | contributi)
m Bot: Elimino interlinks vedi Wikidata
fix prosa
 
(3 versioni intermedie di 3 utenti non mostrate)
Riga 1:
{{F|programmazione|febbraio 2013}}
Una '''funzione''' (o [[metodo (programmazione)|metodo]]) '''virtuale''' è parte importante del [[polimorfismo (informatica)|polimorfismo]] all'interno della metodologia di [[programmazione orientata agli oggetti]] ('''OOP''', '''O'''bject '''O'''riented '''P'''rogramming).
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 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.