Hi,
Da die Idee hinter der Objektorientierung ja ist, real existierende Objekte nachzubilden, würde ich etwas mehr zu Variante drei tendieren:
Hinter der Objektorientierung steht auch der Gedanke, dass man Objekte mit den Methoden ausstattet, die zu _ihrer_ Bearbeitung erforderlich sind. Das soll gewährleisten, dass man Objekte intern anders implementieren kann, ohne dass andere Objekte davon betroffen sind. Wenn du also in deinem Kunden den Namen nicht als String sondern als Zahlenfolge speicherst, soll der Admin trotzdem noch über getName() an den Namen kommen, OHNE zu wissen wie es denn jetzt abgelegt ist.
Demnach sollte es so sein, dass:
- Admin-Objekt: kann das Passwort ändern
- Mitarbeiter: kann angelegt und gelöscht werden sowie sein Passwort ändern
- Kunde: kann angelegt und gelöscht werden
Das kann man dann auch schon fast in eine Hierarchie packen, so dass man die Methoden einmal im "Oberobjekt" Person implementiert, sofern sie für alle 3 Objekte gleich sind. Siehe hierzu auch der Artikel zur Objektorientierung in der Wikipedia.
MfG
Rouven
-------------------
ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(