Wieso benutze ich in einer Methode ein Get, Set, oder void?

1 Antwort

Von Experte daCypher bestätigt

Offensichtlich ist die Person, die den Code geschrieben hat, nicht mit C#-Grundlagen vertraut. Für diesen Anwendungsfall gibt es Properties.

Generell wird das Prinzip der Kapselung berücksichtigt. Es gibt Felder, auf die von außen nicht zugegriffen werden kann. Im obigen Beispiel ist das der Preis. Um nun auf den Wert zuzugreifen oder ihn zu ändern, kommen stattdessen Getter/Setter zum Einsatz. Über sie kann besser kontrolliert werden, was nach außen gegeben (get) bzw. wie der Preis geändert wird (set). Ein Setter könnte bspw. den Fall, dass jemand versucht, dem Preis einen ungültigen Wert zuzuordnen (z.B. einen negativen Wert), filtern.

daCypher  07.12.2022, 09:01

Als kleine Ergänzung dazu: In Java wäre der Code die übliche Vorgehensweise (mit Ausnahme der Unterstriche vor den Variablennamen), weil es dort nicht die Properties, wie in C# gibt.

In C# sollte man aber tatsächlich eher die Properties benutzen. Also:

public double Preis { get; set; }

Kann aber natürlich sein, dass das bei euch in einem späteren Kapitel noch drankommt und ihr erstmal die grundlegenden Konzepte lernt und warum man was machen sollte

0