Welches Attribut verändern?
Von: Florian Lindner (florian.lindner@xgm.de) [Profil]
Datum: 11.10.2009 13:37
Message-ID: <hasg1j$mp6$1@news.lrz-muenchen.de>
Newsgroup: de.comp.lang.python
Datum: 11.10.2009 13:37
Message-ID: <hasg1j$mp6$1@news.lrz-muenchen.de>
Newsgroup: de.comp.lang.python
Hallo, ich habe eine Klasse, die folgende Beziehung kapselt: a + b + c = const. Alle 3 Größen (a,b,c) lassen sich über properties manipulieren. Nun habe ich das Problem, wenn der Benutzer der Klasse a=n setzen will, muss ich b oder c anpassen (oder natürlich beide, aber das will ich nicht). Nun überlege ich, welche Möglichkeiten ich habe, dem Benutzer entscheiden zu lassen, ob b oder c angepasst wird. - So weit ich weiß kann man properties keine Argumente übergeben. Ich kann also nicht per Property sagen: Setze a, passe b (oder c) an. - Ich könnte es nicht über properties machen, sondern über eine Funktion: def set_a(new_a, fixed="b") so dass per default c angepasst wird. - Ich könnte der Klasse ein neues Attribut spendieren, welches angibt, welche Größe verändert werden soll: obj.keep_fixed = "b" Fallen Euch noch andere Lösungen für dieses Problem ein bzw. wie geht ihr damit um? Grüße, Florian[ Auf dieses Posting antworten ]
Antworten
- Andreas Bruhn (11.10.2009 17:17)
- Thomas Rachel (11.10.2009 23:56)
- Peter Otten (12.10.2009 09:33)
- Thomas Rachel (12.10.2009 09:39)
- Andreas Bruhn (12.10.2009 12:15)
- Diez B. Roggisch (12.10.2009 09:59)
