Spisu treści:
Definicja - Co oznacza zastąpienie?
Zastąpienie, w języku C #, jest słowem kluczowym używanym do zastąpienia elementu wirtualnego zdefiniowanego w klasie bazowej definicją tego elementu w klasie pochodnej.
Modyfikator zastępowania umożliwia programistom określenie specjalizacji istniejącego elementu wirtualnego odziedziczonego z klasy podstawowej w celu zapewnienia nowej implementacji tego elementu w klasie pochodnej. Może być używany z metodą, właściwością, indeksem lub zdarzeniem, które należy zmodyfikować lub rozszerzyć w klasie pochodnej.
Modyfikator zastępowania ma na celu implementację koncepcji polimorfizmu w języku C #.
Zastąpienie różni się od nowych modyfikatorów tym, że ten pierwszy służy tylko do przesłonięcia wirtualnego elementu klasy podstawowej, podczas gdy ten drugi pomaga również przesłonić element inny niż wirtualny zdefiniowany w klasie podstawowej, ukrywając definicję zawartą w klasie podstawowej.
Techopedia wyjaśnia Override
Zastąpienie jest najczęściej stosowane w kontekście metody wirtualnej, w której wykonanie typu metody jest określone przez typ środowiska wykonawczego instancji, w której metoda jest wywoływana. Podczas wywołania obiekt wywołujący nie musi wiedzieć, że wywoływany obiekt był instancją klasy pochodnej.
Na przykład, jeśli Shape jest klasą podstawową, która zapewnia podstawową implementację wspólną dla wszystkich obiektów tej klasy, można ją zdefiniować za pomocą wirtualnej metody CalculateArea. Kwadrat może być klasą pochodną od kształtu, która może zastąpić metodę CalculateArea w celu zaimplementowania logiki niezbędnej do obliczenia pola kwadratu.
Aby zastąpić metodę w klasie pochodnej:
- Metodę w klasie podstawowej należy zadeklarować za pomocą wirtualnego modyfikatora.
- Metoda w klasie bazowej może być abstrakcyjna, ale nie statyczna.
- Modyfikator dostępu metody zarówno w klasie podstawowej, jak i pochodnej powinien być taki sam.
- Metodę należy zdefiniować z tą samą sygnaturą zarówno w klasach pochodnych, jak i podstawowych.