Czytałem o metodach wirtualnych w języku C#. Czy istnieje jakieś pojęcie o nazwie klasa wirtualna w C#? Czy klasa abstrakcyjna w języku C# i klasie wirtualnej w języku C++ jest taka sama?Czy istnieje klasa wirtualna w języku C#?
Z góry dziękuję.
Czytałem o metodach wirtualnych w języku C#. Czy istnieje jakieś pojęcie o nazwie klasa wirtualna w C#? Czy klasa abstrakcyjna w języku C# i klasie wirtualnej w języku C++ jest taka sama?Czy istnieje klasa wirtualna w języku C#?
Z góry dziękuję.
Nie ma czegoś takiego w języku C# - i to naprawdę nie jest konieczne, ponieważ dziedziczenie wielu implementacji nie jest obsługiwane. Sporządzenie streszczenia klasy w rzeczywistości oznacza tylko, że nie można utworzyć wystąpień tej klasy i mogą one nie zostać w pełni zaimplementowane (np. Mogą zawierać metody abstrakcyjne).
Brak wirtualnych klas w języku C#. Klasa abstrakcyjna nie jest taka sama, ponieważ nie można utworzyć instancji klasy abstrakcyjnej.
Możesz zrobić coś przeciwnego niż oznaczenie czegoś wirtualnego przez oznaczenie go jako sealed, co zapobiega jego dziedziczeniu.
będę być zdania z linkiem do tego wcześniej, więc post: In C++ what is a virtual base class?
Jak wspominają inni, ponieważ C# nie ma wielokrotne dziedziczenie, trzeba mieć „wirtualną klasę bazową”, która ogranicza wielokrotne dziedziczenie nie jest potrzebne, dlatego nie dotyczy C#. Tylko członkowie w języku C# mogą być wirtualni.
Co rozumiesz przez wirtualną klasę w C++? Masz na myśli wirtualną inherentność lub klasę z czystą wirtualną funkcją? – shf301