Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Wie validiere ich die öffentlichen Eigenschaften ohne Getter/Setter?Zitat
Meine Erfahrung ist, dass Getter und Setter meistens Symptome von
schlechtem OO Design sind. Und offenbar bin ich da nicht allein:
Community-Fossil
Naja ich muss den Artikeln wiedersprechen. Getter dienen dazu ein Objekt nach ausen preiszugeben Ohne dabei die speicherung zu berücksichtigen.
Z.b. kann ich bei einem Getter on the fly ein Objekt erzeugen wenn das basis Objekt noch nicht erzeugt ist. Oder ich kann aus einer Liste/Array mir daten holen. Würde ich nun Direkt auf die Variablen zugreifen und ZUSÄTZLICH Getter anbieten wäre das sehr unsauber. Daher ist es deutlich sauberer und mehr im sinne von OOP Getter und Setter einheitlich überall zu verwenden. Das Argument wieso der Code dadurch unhandlicher und schwere wartbar sein soll leuchtet mir da ehrlich gesagt nicht so ein.
Wie validiere ich die öffentlichen Eigenschaften ohne Getter/Setter?
Wie sorge ich dafür, dass spätere Änderungen meiner Klasse an diesen Eigenschaften die Anwendung nicht beeinflussen?
Es geht nicht darum ob man die Variablen öffentlich macht oder stattdessen lieber getter und setter benutzt. Es ist hier fast jedem Klar, dass getter und setter besseres Design sind als öffentliche Variablen.
Es geht darum, sein Design so auszulegen, dass man möglichst ohne getter und setter klar kommt.
Natürlich kann man nicht pauschal sagen, dass getter und setter schlecht sind. Ein gutes Beispiel sind Container. Sie haben Grundsätzlich setter und getter für ihre Elemente und getter die Größe. Das heißt nicht, dass Container schlechtes design sind. Eher im Gegenteil.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (25.07.2012, 15:34)
Dann verstehe ich nicht wieso du gegen Setter/Getter bist. Gegen öffentliche Eigenschaften sind Getter/Setter auf private Eigenschften doch die Lösung? >.<Zitat
Das ist nicht das Problem. Das Problem ist, dass du öffentliche Eigenschaften hast.
...
Gar nicht
Werbeanzeige