Thread Counter innerhalb einer Klasse?
(19 answers)
Opened by JackBauer at 2008-05-07 14:48 Quote Achso, na dann habe ich dich vollkommen falsch verstanden. Ich dachte du wolltest nen Klassencounter. Also nen Counter in der Klasse der die Objekte zählt. Ansonsten ist das was du ja willst nur nen simples attribut das du beliebig incr/decrementieren kannst. Nur anstatt $self->{counter} += 1; möchtest du anscheinend $self->counter += 1. Also einen Sinn darin sehe ich nicht unbedingt. Lvalue kannst du machen aber ich finde das ist auch zu magisch und wegen experimentel würde ich es auch nicht nutzen. Ein anderer ansatz wäre ansonsten noch eine kleine Counter Klasse wo du die Operatoren überlädst. Aber ich finde solch eine Technik eher schlecht als gut. Bei $self->counter += 1 vermutet man nicht das dieses auch intern den counter neu setzt da es eben ein Methodenaufruf ist der nur etwas zurück gibt. Spätestens wenn du sowas schreibst << printf "Anzahl: %d\n", $obj->counter + 1 >> wunderst du dich warum du auch den counter im objekt erhöhst. Ich würde sowas ehrlich gesagt sein lassen. Welchen Vorteil es brnigen soll ist mir auch ein Rätsel. Quote Kannst du in Perl doch genauso... Nur du rufst bei $self->counter eine Methode auf die etwas zurück gibt und möchtest den Wert addieren und das ergebnis soll automatisch wieder gesetzt werden. Das ist was ganz anderes... Vielleicht wird es dir mir Klammern einleuchtender was du tust. Code: (dl
)
$self->counter() += 5 Ich würde es lieber so machen. Code: (dl
)
1 $self->counter(5); # setzen oder folgendermaßen. Code: (dl
)
1 $self->counter(5); # setzen Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
|