Spisu treści:
Definicja - Co oznacza metoda wirtualna?
Metoda wirtualna to deklarowana metoda klasy, która pozwala na przesłonięcie metodą o tej samej pochodnej sygnaturze klasy. Metody wirtualne to narzędzia używane do implementacji funkcji polimorfizmu języka zorientowanego obiektowo, takiego jak C #. Gdy wywoływana jest metoda instancji obiektu wirtualnego, metoda, która ma zostać wywołana, jest określana na podstawie typu środowiska wykonawczego obiektu, który zwykle jest klasy najbardziej pochodnej.Techopedia wyjaśnia metodę wirtualną
Metodę wirtualną stosuje się w celu zastąpienia określonej implementacji klasy bazowej, gdy obiekt wykonawczy jest typu pochodnego. W ten sposób metody wirtualne ułatwiają spójną funkcjonalność powiązanego zestawu obiektów.
Przykładem implementacji metody wirtualnej są klasy Manager i Clerk, wywodzące się z klasy bazowej Employee z metodą wirtualną CalculateSalary, które mogą zostać zastąpione w klasach pochodnych z konieczną logiką dla odpowiedniego typu. Lista obiektów typu Pracownik może być wywoływana w czasie wykonywania w celu obliczenia wynagrodzenia - bez znajomości konkretnego typu implementacji.
Implementacja metody wirtualnej różni się w językach programowania, takich jak C ++, Java, C # i Visual Basic .NET. W Javie wszystkie metody niestatyczne są domyślnie wirtualne, z wyjątkiem metod prywatnych lub oznaczonych słowem kluczowym final. C # wymaga słowa kluczowego virtual dla metod wirtualnych, z wyjątkiem metod prywatnych, statycznych i abstrakcyjnych oraz zastąpienia słowa kluczowego w celu zastąpienia metody klasy pochodnej.
Metoda czysto wirtualna to metoda wirtualna, która upoważnia klasę pochodną do implementacji metody i nie zezwala na tworzenie instancji klasy podstawowej lub klasy abstrakcyjnej.