Cuprins:
Definiție - Ce înseamnă Metoda Virtuală?
O metodă virtuală este o metodă de clasă declarată care permite suprasolicitarea printr-o metodă cu aceeași semnătură de clasă derivată. Metodele virtuale sunt instrumente utilizate pentru a implementa caracteristica de polimorfism a unui limbaj orientat pe obiecte, cum ar fi C #. Când este invocată o metodă de instanță a obiectului virtual, metoda care trebuie apelată este determinată pe baza tipului de execuție a obiectului, care este de obicei cea a clasei celei mai derivate.Techopedia explică metoda virtuală
O metodă virtuală este utilizată pentru a înlocui implementarea clasei de bază specificată atunci când un obiect de execuție este de tipul derivat. Astfel, metodele virtuale facilitează funcționalitatea consistentă a unui set de obiecte conexe.
Un exemplu de implementare a metodei virtuale este clasele Manager și funcționar, derivate din clasa de bază Angajat cu o metodă virtuală CalculateSalary, care poate fi înlocuită în clase derivate cu logica necesară pentru tipul adecvat. O listă de obiecte de tip angajați poate fi apelată la runtime pentru a calcula un salariu - fără a cunoaște tipul de implementare specific.
Implementarea metodei virtuale diferă în limbaje de programare precum C ++, Java, C # și Visual Basic .NET. În Java, toate metodele nestatice sunt implicite virtuale, cu excepția metodelor private sau marcate cu cuvântul cheie final. C # necesită cuvântul cheie virtual pentru metodele virtuale, cu excepția metodelor private, statice și abstracte, iar înlocuirea cuvântului cheie pentru a depăși metoda clasei derivate.
O metodă virtuală pură este o metodă virtuală care mandatează o clasă derivată să implementeze o metodă și nu permite instantarea clasei de bază sau a clasei abstracte.