Accessor oder keine Accessor Methode

das ist hier die Frage.

Hallo Leute,

ich stehe vor einer Grundsatzfrage und zwar ob ich auch innerhalb einer Klasse nur via Accessor Methoden auf die ivars zu greifen sollte.

Ausserdem stellt sich mir die Frage ob es sinnvoll ist, selbst bei subclassing nur über ein definiertes interface zu gehen oder nicht.

Ich bin der Meinung das es sinnvoll ist, was meint ihr dazu ?

Argumente, ohne Anspruch auf Vollständigkeit:

  1. Nebenwirkungen: ist ein Zugriff mit (beabsichtigten) Nebenwirkungen verbunden, so geht das nur mit Access-Methoden. Beispiel: wird eine anderer Wert in die Variable „Farbe“ geschrieben, so soll auch der Text erneut (in der neuen Farbe) auf den Bildschirm ausgegeben werden.

  2. setzt man 1. voraus, so kann man auf die Dauer nur sauber arbeiten, wenn man für alles „one point access“ verwendet, d.h. der Zugriff muss immer auf diesselbe Art erfolgen, sonst verliert man irgendwann den Überblick.

Natürlich muss irgendwo auch direkt zugegriffen werden, zumindest innerhalb der Access-Methode, aber das muss mit grösster Sorgfalt überlegt werden.

Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]