Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
LGiesken
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
LGiesken
Die Idee hinter den Setter-Methoden war, dass man alles, was mit Merkmalen zu tun hat, zentral an einer Stelle hat. Wir müssen die Merkmale nämlich nicht nur auslesen, sondern überschreiben Sie unter Umständen auch noch. Das wäre jedoch wahrscheinlich zu viel des Guten. Die Schreibzugriffe kann man ja auch mit Gettern vernünftig aufbauen.black_adept hat geschrieben: ↑17.02.2020 16:25Allerdings sehe ich nicht wozu du die SETTER Methode brauchen könntest.
Wir greifen leider an allen möglichen Stellen auf Merkmale zu. Das wären nicht nur Programme, sondern auch Methoden, User-Exits und Enhancement-Points. Durch programmlokale Konstanten könnte man das jeweilige Coding zwar leichter pflegen. Jedoch müsste man dann immer noch die entsprechenden FuBas usw. finden und einzeln anpassen. Da wir keine vernünftige Dokumentation unseres Codings haben, bestünde hier dann natürlich die Gefahr, dass man etwas übersieht.DeathAndPain hat geschrieben: ↑17.02.2020 18:38Eine programmglobale Konstante, am Anfang des Programms deklariert, kann da schon einen großen Unterschied machen, ist aber für spätere Leser einfacher nachzuvollziehen, als wenn man eine Klasse definiert und die Werte darin versteckt, so dass man als Leser einen pompösen Methodenaufruf sieht, wo einfach nur ein fester Wert gefragt ist.
GETTER und SETTER-Methoden sollten grundsätzlich nicht gemischt werden (Überaschungsarme Programmierung). Wenn ich eine GETTER-Methode aufrufe, erwarte ich nicht, dass sie irgendwelche Modifikationen vornimmt.Die Idee hinter den Setter-Methoden war, dass man alles, was mit Merkmalen zu tun hat, zentral an einer Stelle hat. Wir müssen die Merkmale nämlich nicht nur auslesen, sondern überschreiben Sie unter Umständen auch noch.