Setter und Getter gleicher Funktionsname?
-
Naja, mit "x" als Namen wird das wohl tatsächlich selten aussagekräftig sein, aber get_x und set_x wären da auch nicht besser.
Diese Art der Nomenklatur ist durchaus üblich; in der Standardbibliothek machen das Beispielsweise Stringstreams mit der Methode str():
std::stringstream sstr; sstr.str("foo"); std::cout << sstr.str();Ich finde diese Notation insbesondere beim Auslesen deutlich klarer. Etwa
date d; d.year(), d.month(), d.day(); // im Vergleich zu d.get_year(), d.get_month(), d.get_day();...aber letztendlich ist das Geschmackssache.
-
asdfadsf schrieb:
sieht doch recht nett aus, oder nicht?
klaro alter lass dir da mal nicht rein quatschen für die private variable kann man ein "_" vorstellen
-
code schrieb:
asdfadsf schrieb:
sieht doch recht nett aus, oder nicht?
klaro alter lass dir da mal nicht rein quatschen für die private variable kann man ein "_" vorstellen
alles klar dude

-
code schrieb:
asdfadsf schrieb:
sieht doch recht nett aus, oder nicht?
klaro alter lass dir da mal nicht rein quatschen für die private variable kann man ein "_" vorstellen
Darf man nur nicht.
-
asdfadsf schrieb:
sieht doch recht nett aus, oder nicht?
nett ist immer relativ

Also für jemanden der hauptsächlich C++ macht, kann sich damit vielleicht anfreunden.
Aber z.B. jemand der sehr viel mit Java arbeitet findet es bestimmt sehr nervig,
da er von Java gewohnt ist, dass alle getMethoden mit "get" (außer event. bei boolean), und alle setMethoden mit "set" beginnen.
-
Hallo
asdfadsf schrieb:
...
if(Obj.X() == 12) Obj.X(13);sieht doch recht nett aus, oder nicht?
Ja ist schon rechte nett, aber wie ist es wenn du bei der Get-Methode noch Formatierungsangaben definieren kannst zB so:
cout << obj.date("yyyy.mm.dd") << endl;Da finde ich wiederum ein get_date und set_date dann doch weit übersichtlicher.
Aber es ist und bleibt Geschmackssache.
Mfg marco
-
get und set sind unnötiger Text und machen nichts verständlicher.
Beispiel:int s = x.size();Jeder wird hier wohl verstehen, das size() etwas zurück gibt. Ein get_size() würde nicht zu mehr Verständnis führen.
Weiteres Beispiel:
x.size(s);Jeder wird hier verstehen, das ein Wert gesetzt wird. Ein set_size würde nicht zu mehr Verständnis führen.
-
Marc-O schrieb:
Hallo
asdfadsf schrieb:
...
if(Obj.X() == 12) Obj.X(13);sieht doch recht nett aus, oder nicht?
Ja ist schon rechte nett, aber wie ist es wenn du bei der Get-Methode noch Formatierungsangaben definieren kannst zB so:
{cpp]cout << obj.date("yyyy.mm.dd") << endl;
[/cpp]Da finde ich wiederum ein get_date und set_date dann doch weit übersichtlicher.
Aber bei einem
get_datedenke ich eher, das es KEINEN Parameter erwartet!
Wenn dann würde ich es eher create_datenennen, wenn wirklich etwas anhand eines Parameters erzeugt wird. Denn einfach nur ein "holen" ist dein Beispiel nicht.Wenn man schon, sollte man auch passende Verben nutzen.
-
Fellhuhn schrieb:
code schrieb:
klaro alter lass dir da mal nicht rein quatschen für die private variable kann man ein "_" vorstellen
Darf man nur nicht.
Das darf man schon, sofern auf den Unterstrich kein Großbuchstabe folgt. Ob es guter Stil ist, sei aber mal dahingestellt. Ich stelle Membervariablen gern einen Unterstrich ans Ende. Auch das ist aber letztlich Geschmackssache.
Was Marc-Os date("yyyy.mm.dd") angeht, sieht mir das nach einem format_date o.ä. aus. Diese Funktionalität gehört aber nun wirklich nicht in den Container; das schreibt man ggf.
std::cout << format_date(obj.date(), "yyyy.mm.dd");oder so.
-
Bulli schrieb:
Marc-O schrieb:
Hallo
asdfadsf schrieb:
...
if(Obj.X() == 12) Obj.X(13);sieht doch recht nett aus, oder nicht?
Ja ist schon rechte nett, aber wie ist es wenn du bei der Get-Methode noch Formatierungsangaben definieren kannst zB so:
cout << obj.date("yyyy.mm.dd") << endl;Da finde ich wiederum ein get_date und set_date dann doch weit übersichtlicher.
Aber bei einem
get_datedenke ich eher, das es KEINEN Parameter erwartet!
Wenn dann würde ich es eher create_datenennen, wenn wirklich etwas anhand eines Parameters erzeugt wird. Denn einfach nur ein "holen" ist dein Beispiel nicht.Wenn man schon, sollte man auch passende Verben nutzen.
Ich versteh grad nicht was du meinst, wieso
create_date, wenn ich von einer Datums-Variable den Wert in einer bestimmten Formatierung haben möchte. (So war es zumindest von mir gedachte.) Okay mann könnte die Funktion auch FormatDate() nennen, wenn es diese aber als getter und setter gibt, wie machst es dann?Mfg marco
-
hab grad was gefunden passt doch hier ganz gut