Jaki jest modyfikator zastępowania w C#

Jaki jest modyfikator zastępowania w C#
W okolicznościach obejmujących programowanie obiektowe, często musimy zaoferować własną wdrożenie metody określonej już w klasie lub interfejsie podstawowym. Modyfikator zastępowania C# jest przydatny w tej sytuacji. Modyfikator zastępowania pozwala nam zmodyfikować zachowanie odziedziczonej metody lub właściwości. W tym artykule omówiono zastosowanie modyfikatora zastępowania w C# i sposób, w jaki można go użyć do modyfikacji zachowania odziedziczonych członków.

Jaki jest modyfikator zastępowania?

W C#możesz utworzyć nową implementację metody lub właściwości, która jest już zadeklarowana w klasie podstawowej lub interfejsie za pomocą modyfikatora zastępowania. Umożliwia nam zmianę zachowania dziedzicznego członka klasy pochodnej. Po zastąpieniu metody lub właściwości możemy zapewnić własną implementację dla tego członka, co zastąpi implementację dostarczoną przez klasę podstawową lub interfejs.

Jak używać modyfikatora zastępowania?

Aby użyć modyfikatora zastępowania, musimy wykonać poniższe czynności:

  • Odziedzicz klasę podstawową lub interfejs zawierający metodę lub właściwość, którą chcemy zastąpić.
  • W klasie pochodnej zadeklaruj nową metodę lub właściwość o tej samej nazwie i podpisie.
  • Użyj słowa kluczowego Zastąp przed metodą lub deklaracją właściwości, aby wskazać, że zastępujemy odziedziczony członek.

Aby pomóc Ci to zrozumieć bardziej głębia, oto przykład.

Rozważ klasę podstawową o nazwie „pojazd”, która ma funkcję „start” w nazwie. Metoda Start po prostu drukuje wiadomość do konsoli, mówiąc, że pojazd się rozpoczął. Powiedzmy teraz, że chcę stworzyć nową klasę o nazwie „samochód”, która dziedziczy po klasie pojazdu, ale zapewnia własną implementację metody startowej. Oto jak możemy to osiągnąć za pomocą modyfikatora zastępowania:

za pomocą systemu;
pojazd klasowy

Public Virtual Void Start ()

Konsola.WriteLine („Rozpoczął pojazd.");


Samochód klasowy: pojazd

publiczne zastąpienie void start ()

Konsola.Writeline („Zaczął samochód.");


Program klasowy

Statyczne pustka główna (String [] args)

Pojazd pojazdu = nowy pojazd ();
pojazd.Początek(); // wyjście: pojazd uruchomił.
Samochód samochodowy = nowy samochód ();
samochód.Początek(); // wyjście: samochód uruchomił.

Tutaj stworzyłem nową klasę o nazwie „samochód”, która dziedziczy po klasie „pojazdu”. Zadeklarowałem również nową metodę o nazwie „Start” w klasie „Car”, o tej samej nazwie i podpisie co metoda w klasie „pojazdu”. Użyłem modyfikatora zastępowania, aby wskazać, że zastępujemy metodę odziedziczoną.

Zasadniczo stworzyłem instancje zarówno klas pojazdu, jak i samochodu i nazywałem na nich metodę startową. Kiedy wywołuję metodę rozpoczęcia na obiekcie pojazdu, drukuje „pojazd zaczął” do konsoli. Kiedy wywołuję metodę start na obiekcie samochodu, drukuje „samochód zaczął” do konsoli. To pokazuje, że pomyślnie zastąpiliśmy metodę start w klasie pochodnej:

Wniosek

Modyfikator zastępowania w C# jest potężnym narzędziem, które pozwala nam zmodyfikować zachowanie odziedziczonego członka. Służy do zapewnienia własnej implementacji dla metody lub właściwości, która jest już zdefiniowana w klasie podstawowej lub interfejsie. Omówiliśmy, jak użyć modyfikatora zastępowania w C# i zademonstrowaliśmy jego użycie z prostym przykładem. Korzystając z modyfikatora zastępowania, możemy tworzyć bardziej wyspecjalizowane klasy, które dziedziczą po klasie podstawowej, ale zapewniają własne unikalne zachowanie.