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:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *