nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

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
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