Getter und Setter in einem



  • Meiner Meinung nach ist das nicht unbedingt schön. Sieht fast ein bisschen wirr aus für mich. Aber jeder hat da eine andere Ansicht.
    Außerdem könnte das unübersichtlich und zu Komplikationen führen, wenn du mehr außer normales get und set machen willst.



  • EOutOfResources schrieb:

    Ist es von API-Design her schön statt dem üblichen Getter- und Setter-Paar folgendes zu schreiben?

    Zweifellos ist es Dir nicht schnell genug.



  • Auf den ersten Blick sieht es interessant aus. Beim genaueren Hinsehen ist es unsinnig den bereits vorhandenen Wert mit sich selbst zu überschreiben, nur damit jemand ihn lesen kann (von den nötigen Validierungen beim Schreiben mal abgesehen). Und außerdem brauchst du immer noch einen Getter für die konstante Version.
    (PS: Ich hoffe, die Parameterübergabe als nicht-konstante Referenz war keine Absicht)



  • CStoll schrieb:

    (PS: Ich hoffe, die Parameterübergabe als nicht-konstante Referenz war keine Absicht)

    Ja, das const habe ich vergessen.

    OK, danke an alle. Ich werde es mal wieder klassisch lösen.

    MfG, EOutOfResources



  • Dir ist aber bewusst, dass du das Gleiche mit Überladung erreichst?

    bar  Quux() const;
    void Quux(bar);
    


  • Nexus schrieb:

    Dir ist aber bewusst, dass du das Gleiche mit Überladung erreichst?

    Das ist doch der klassische Weg, nicht?


  • Mod

    EOutOfResources schrieb:

    Nexus schrieb:

    Dir ist aber bewusst, dass du das Gleiche mit Überladung erreichst?

    Das ist doch der klassische Weg, nicht?

    Klassisch wären ein paar sprechende Namen.

    (Ich mache dich mal lieber nicht darauf aufmerksam, dass du über zurückgegebene Referenzen auch interne Werte ändern kannst. Ganz effizient und ohne solche Verrenkungen wie hier. Die Benutzer (bzw, der Benutzer, d.h. du) deiner Bib #werden es mir danken.)



  • Klassisch? Ja, aber nur lehrbuchklassisch (bis auf die sprechenderen Namen).
    Irgendwie bastele ich kaum Getter und Setter.



  • volkard schrieb:

    Irgendwie bastele ich kaum Getter und Setter.

    Ich finde die Dinger sogar ziemlich hässlich 🙄



  • An (quasi-)öffentlichen Schnittstellen halte ich getter und setter für wichtig. Wenn jemand anders sich auf die Schnittstelle verlassen können muss, ist es sinnvoll, sie so anzulegen, dass sie später nicht dauernd geändert werden muss.

    Intern reiche ich auch häufig einfache Structs in der Gegend herum.


Anmelden zum Antworten