Wieso benutze ich in einer Methode ein Get, Set, oder void?
Ich verstehe nicht so ganz warum im Beispiel unten für die Methode void set und get verwendet wurde? könnte jemand das vielleicht kurz mit seinen eigenen Worten erklären das wäre ganz lieb :)
1 Antwort
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.
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