🔥 Zapisy zamknięte, ale możesz pobrać Roadmapę .NET i dołączyć do listy oczekujących — Pobierz i dołącz do Listy VIP →

Przeciążanie operatorów w C# cześć.2

Przeciążanie operatorów w C#

Teraz bardziej życiowy przykład.

Z operatorów mogą korzystać również nasze własne obiekty, ale w normalnej sytuacji nie będą one wiedziały jak mają skorzystać z tych operatorów. Na szczęście C# daje nam możliwość przeciążania operatorów, dzięki której będziemy mogli nauczyć nasze klasy zupełnie nowych możliwości.
Wyobraź sobie coś takiego, gdyby obiekty faktur można było dodawać do siebie i dzięki temu otrzymalibyśmy sumę wszystkich faktur?
Okazuje się, że w C# jest to możliwe i jest to bardzo proste.

Przykład zaczniemy od zdefiniowania bazowej klasy Invoice:

Teraz gdy mamy naszą własną klasę Invoice, możemy utworzyć dwa przykładowe obiekty naszej klasy:

I teraz gdybyśmy chcieli dodać te dwa obiekty do siebie:

To przekonamy się, że taka operacja jest niemożliwa, i nasz kod się nie będzie kompilował.
Aby to zmienić musimy dodać obsługę operatora do naszej klasy Invoice:

Teraz będziemy mogli skorzystać z operatora dodawania co wyświetli na sumę z obu faktur.

I cały kod programu:

👨‍💻
Mariusz Jurczenko
Senior .NET Developer · 10+ lat doświadczenia komercyjnego

Programista .NET z doświadczeniem komercyjnym w firmach takich jak COIG, Kamsoft czy Etisoft Smart Solutions. Twórca kursów, z których skorzystało już ponad 11 000 osób w Strefie Kursów i ponad 1 000 kursantów na dev-hobby.pl.

Specjalizacja: Clean Code, Clean Architecture i uczenie programowania tak, żeby dało się je naprawdę zrozumieć — nie wykuć.

Dodaj komentarz

czytanie to początek

Zamień wiedzę w umiejętności

Pobierz darmową Roadmapę .NET i ułóż takie tematy jak ten w spójną ścieżkę do pierwszej pracy.

Pobieram roadmapę →