Get/Set czy potrzebne w danym przykładzie

0

Witajcie koledzy!
Jest to mój pierwszy post więc proszę o wyrozumiałość ;)

Uczę się C# z książki Rusz Głową C# wyd. 3, nie pojmuję zastosowania gettersów settersów w jednym przykładzie, bo według mnie na chłopski rozum jest to po prostu niepotrzebne, ktoś mi wytłumaczy dlaczego zamiast zwykłych zmiennych autorzy zastosowali właściwości?

Na początku rozdziału program został celowo skopany przez autorów, wiedziałem jak go rozwiązać, ale obiecali że za kilka stron będzie magiczne rozwiązanie więc zostawiłem jak było, w międzyczasie poznałem konstruktory, właściwości, pewne zagadnienia z hermetyzacji, ale koniec końców przykład podany na załączonym przeze mnie ss-ie jest banalny i nie do końca wykorzystuje w pełni możliwości propów :v

TL;DR zobaczy ktoś na screena i oceni przydatność get/set w zaznaczonym polu?
Dziękuję

2

Według mnie 0 przydatność, możesz sobie je ustawić jako pola i nie będzie różnicy w tym kodzie (nic nie ustawiają we właściwościach, nie zmieniają modyfikatorów dostępu).

3

W tym przykładzie może i to nie ma znaczenia, ale...

Ale: zasadniczo, w C# nie używa się publicznych pól, a tylko publiczne właściwości (konwencja), a po drugie, istnieje szansa, że kiedyś będziesz rozbudowywał ten przykład, na przykład implementując INotifyPropertyChanged i zostawienie tam właściwości zamiast pola może mieć znaczenie. W zasadzie w ogóle nie da się zrobić Data Binding dla pól, tylko dla właściwości.

Zmiana pola na właściwość to breaking change, więc jeżeli masz kod, który polega na twoim kodzie, to wprowadzenie kiedyś tutaj zmiany może wymusić zmiany w innych miejscach kodu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1