Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11780[/thread]

[OOP] Terminologie: Mutator oder Akzessor ?



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
KurtZ
 2008-05-08 15:29
#109434 #109434
User since
2007-12-13
411 Artikel
BenutzerIn
[default_avatar]
Hi

bei selfhtml weiß keiner was zur folgenden Frage beizutragen,
-> http://forum.de.selfhtml.org/?t=170803&m=1117118
da Perler zu Avantgarde gehören bin ich mir aber hier sicher ... ;-)


Wie nennt man einen kombinierten Getter und Setter? Deutsches und Englisches Wikipedia sind sich da uneinig...

konkret: nicht obj.set_name(value) und obj.get_name() sondern nur x=obj.name(value)

Dem Wortstamm her ist ein Mutator ein IMHO ein Setter (Veränderer) und ein Akzessor ein Getter (Zugreifer)...

Kennt jmd ne einheitliche Definition oder einen weiteren Begriff?

Ich tendiere zu Mutator weil ein setter eigentlich immer den getter-Wert returnieren sollte.
TMTOWTDYOG (there's more than one way to dig your own grave)
moritz
 2008-05-08 15:35
#109436 #109436
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Also ein accessor (Akzessor kenne ich nicht) gibt Zugriff auf ein Element, ohne zu spezifizieren, ob er lesend oder schreibend ist.

Ein Setter sollte übrigens nicht immer den getter-Wert zurückliefern, es gibt Fälle, in denen es viel praktischer ist, wenn das aktuelle Objekt zurückgegeben wird. Dann kann man nämlich verschiedene Methoden hintereinander hängen

Code (perl): (dl )
$obj->set(foo => 'bar')->do('this')->do('that');


Die Hardcore-Objektorientierer (wie z.B. Eiffel-Programmierer) sind übrigens der Meinung, dass ein setter gar nichts zurückliefern soll.
Linuxer
 2008-05-08 15:54
#109437 #109437
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Schade, dass man ohne Zugangsdaten dem Link ins Selfhtml-Forum nicht folgen kann...
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
KurtZ
 2008-05-08 16:14
#109439 #109439
User since
2007-12-13
411 Artikel
BenutzerIn
[default_avatar]
Linuxer+2008-05-08 13:54:50--
Schade, dass man ohne Zugangsdaten dem Link ins Selfhtml-Forum nicht folgen kann...


ups ... hab das /my/ entfernt ... bei denen steht aber eh nix anderes...

Quote
Akzessor kenne ich nicht


deutsche Schreibweise auch bei wikipedia.de...

denke an Akzent, akzeptieren, Akzelerator... was bei Originalschreibweise hierzulande rauskommt hört man an der gängigen aber falschen Aussprache von Accessoir!
TMTOWTDYOG (there's more than one way to dig your own grave)
KurtZ
 2008-05-08 16:30
#109441 #109441
User since
2007-12-13
411 Artikel
BenutzerIn
[default_avatar]
moritz+2008-05-08 13:35:19--
Also ein accessor (Akzessor kenne ich nicht) gibt Zugriff auf ein Element, ohne zu spezifizieren, ob er lesend oder schreibend ist.


kennst du eventuell ne Quelle mit Definition?

-> http://en.wikipedia.org/wiki/Mutator_method
Quote
Often a "setter" is accompanied by a "getter" (also known as an accessor method), which simply returns the current value of the private member variable.


moritz+2008-05-08 13:35:19--
Ein Setter sollte übrigens nicht immer den getter-Wert zurückliefern, es gibt Fälle, in denen es viel praktischer ist, wenn das aktuelle Objekt zurückgegeben wird. Dann kann man nämlich verschiedene Methoden hintereinander hängen

Code (perl): (dl )
$obj->set(foo => 'bar')->do('this')->do('that');


Die Hardcore-Objektorientierer (wie z.B. Eiffel-Programmierer) sind übrigens der Meinung, dass ein setter gar nichts zurückliefern soll.


OK ... Object-Chaining ist natürlich ein Argument, insbesondere bei einer Methode set() oder set_attribut(), aber wie bezeichne ich einen kombinierten "getsetter" attribut()?
TMTOWTDYOG (there's more than one way to dig your own grave)
murphy
 2008-05-08 16:46
#109445 #109445
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
moritz+2008-05-08 13:35:19--
[...]
Die Hardcore-Objektorientierer (wie z.B. Eiffel-Programmierer) sind übrigens der Meinung, dass ein setter gar nichts zurückliefern soll.


Ich denke, das hat weniger etwas mit Hardcore-Objektorientierung und mehr etwas mit Hardcore-Funktionalprogrammierung zu tun, denn die Regel lautet im Allgemeinen: Methoden, die nichts zurückgeben, dürfen den Inhalt ihres Kontextobjektes verändern, alle anderen Methoden sollten das Obkjekt konstant lassen. Diese Konvention kann recht übersichtlich sein, ist aber irgendwie nicht überall sinnvoll.
When C++ is your hammer, every problem looks like your thumb.
moritz
 2008-05-08 16:49
#109446 #109446
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Nur mal eine kurze Anmerkung: Wikipedia zählt als Quelle nicht.

Übrigens habe ich auch mal "Attribut-Methode" gehört (ein Attribut ist das, auf dem die Methode arbeitet).

Quote
OK ... Object-Chaining ist natürlich ein Argument, insbesondere bei einer Methode set() oder set_attribut(), aber wie bezeichne ich einen kombinierten "getsetter" attribut()?


Den kombinierten getter und setter für "foo" bezeichnest du einfach foo(). Einen universellen und kombinierten getter und setter halte ich nicht für sinnvoll.
KurtZ
 2008-05-08 16:59
#109450 #109450
User since
2007-12-13
411 Artikel
BenutzerIn
[default_avatar]
moritz+2008-05-08 14:49:35--
Nur mal eine kurze Anmerkung: Wikipedia zählt als Quelle nicht.

Nur mal eine kurze Anmerkung: du nennst gar keine Quelle.

Wie bereits gesagt, das deutsche Wikipedia behauptet es genau andersrum ...


Scheinbar gibts mal wieder keine klare Definition, nur diffuse Denkschulen...
TMTOWTDYOG (there's more than one way to dig your own grave)
moritz
 2008-05-08 17:08
#109453 #109453
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
KurtZ+2008-05-08 14:59:03--
moritz+2008-05-08 14:49:35--
Nur mal eine kurze Anmerkung: Wikipedia zählt als Quelle nicht.

Nur mal eine kurze Anmerkung: du nennst gar keine Quelle.


Ich probiere aber auch nicht, meine Antwort als autorisiert erscheinen zu lassen.

Quote
Scheinbar gibts mal wieder keine klare Definition, nur diffuse Denkschulen...


Wer sollte denn deiner Meinung nach für eine klare Definition zuständig sein?
KurtZ
 2008-05-08 17:24
#109455 #109455
User since
2007-12-13
411 Artikel
BenutzerIn
[default_avatar]
moritz+2008-05-08 15:08:55--
Ich probiere aber auch nicht, meine Antwort als autorisiert erscheinen zu lassen.


???
TMTOWTDYOG (there's more than one way to dig your own grave)
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2008-05-08 15:29.