dedlfix: Getter und Setter

Beitrag lesen

Tach!

Also, ich verwende grundsätzlich ausschliesslich Getter und Setter um auf Instanz-Variablen zuzugreifen und nie Direkt-Zugriff. Das liegt aber mehr an meiner eignen Arbeitsweise: Wenn ich für jede Instanz-Variable, die ich ausserhalb ändern/benutzen will einen Setter/Getter implementieren MUSS [...], zwingt mich das dazu, mir genauer zu überlegen, welche Variablen nach aussen hin denn wirklich interessant /notwendig sind (und welche ich lieber "private" lasse, da andere Klassen daran eh nicht herumzufummeln haben).

Und warum kannst du diese Überlegungen nicht beim Notieren des Sichtbarkeits-Keywords anstellen? Reine Getter/Setter ohne weitere Funktionalität verbraten (geschätzt) mindestens doppelt so viel Zeit wie ein einfacher Zugriff.

Statt einer Zuweisung (mit Nebenhandlungen wie Variablennamenauflösung) hast du zwei Zuweisungen und einen Funktionsaufruf. Beim Lesen ungefähr daselbe.

Der Zeitverbrauch mag bei kleinen Projekten keine Rolle spielen, aber bei vielen Zugriffen läppert sich das ganz schön zusammen.

Soweit ich weiss, ist das auch "schöner" Programmierstil (ich meine mich zu erinnern, dass es in Java auch ein paar unangenehme Absonderlichkeiten gibt, wenn man z.b. Instanzvariablen mit primitive Datentypen von aussen direkt, also ohne Zugriff mittels Setters, ändert).

In Java ist es eine Konvention mangels besserer Möglichkeiten dieser Sprache. Es gibt einige Frameworks/whatever, die auf die Benennung get.../set... reagieren oder anderweitig darauf angewiesen sind, um richtig zu funktionieren. Diese Notwendigkeit ist mir von PHP her nicht bekannt. Nicht alles was anderswo gang und gäbe ist, muss für PHP genauso sinnvoll sein.

dedlfix.