Thread OOP, erste Schritte (15 answers)
Opened by hlubenow at 2012-02-21 16:20

moritz
 2012-02-22 12:23
#156313 #156313
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
2012-02-21T15:36:54 pq
2012-02-21T15:33:20 moritz
Innerhalb der Klasse ist das richtig. Von ausserhalb sollte man gar nicht auf Attribute zugreifen, sondern nur Methoden aufrufen.


sehe ich anders. auch innerhalb der klasse ist der aufruf von accessormethoden sauberer, ausser in den accessors selber.
denn wenn du vererbung hast, würdest du somit an der erbenden klasse vorbei das attribut direkt aufrufen.


Das ist IMHO keine Frage von "sauber" vs "unsauber".

Man muss sich halt Gedanken machen, was bei Vererbung passieren kann. Wenn man fuer ein Attribut will, dass die Child-Klasse den Accessor ueberschreiben kann, und damit die Logik der Parent-Klasse veraendern koennen soll, dann sollte man auch konsequent innerhalb der Klasse konsequent den Accessor benutzen. Wenn man andererseits mehrere Attribute hat, die genau zusammen passen muessen, um sinnvoll benutzbar zu sein, gehoert der Zugriff darauf nicht virtualisiert (also ohne Accessor). In so einem Fall gehoert das Attribut wirklich der Parent-Klasse, und es ist vollkommen in Ordnung, an der Child-Klasse vorbei darauf zuzugreifen.

Deswegen mag ich diese ganzen OO-Beispiele nicht, die sich nicht an realistischen Programmierproblemen orientieren -- wenn das Problem nicht realiistisch ist, gibt es auch immer Fragen, auf die man keine gute Antwort finden kann.

View full thread OOP, erste Schritte