kostenloser Webspace werbefrei: lima-city


C++ Structs: Get und Set

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    m**********n

    Hallo Leute,

    aus C# (und anderen Sprachen) kennt man ja Structs: Minimale Klassen mit ein paar Eigenschaften. Datenkapselung ist da nicht notwendig.

    Wenn ich nun nach C++ gehe ist eine Struct identisch mit einer Klasse, deshalb wollte ich bei erfahrenen C++lern nachfragen, wie ihr es mit Datenkapselung handhabt: Ihr habt beispielsweise eine Klasse Person. Diese besteht nur aus den öffentlich zugänglichen Eigenschaften Vorname, Name und Telefonnummer. Macht ihr diese Eigenschaften dann private und kapselt mit getVorname, setVorname, ... oder lasst ihr diese Eigenschaften public?

    Freue mich auf Antworten.

    Lg
    mator
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Der korrekte Stil im Sinne der Kapselung wäre die Member-Variablen privat zu halten und diese nur über Getter und Setter zugänglich zu machen bzw. komplexere Methoden mit definierter Signatur zu schreiben, welche ihre benötigten Daten in privaten Variablen speichern.

    Variablen public zu machen halte ich für unschön.

    Beitrag zuletzt geändert: 6.3.2013 16:12:28 von schrotti12
  4. Autor dieses Themas

    m**********n

    Gut, dann werde ich alles kapseln. Dazu noch eine zweite Frage: In C# werden die Getter und Setter nach dem Variablennamen benannt. Was ist aber in C++ die übliche schreibweise? Also mit get/set vor dem Methodennamen oder ohne?

    Also
    class Person
    {
    public:
    std::string getVorname();
    private:
    std::string Vorname;
    }

    oder
    class Person
    {
    public:
    std::string Vorname();
    private:
    std::string Vorname;
    }


    Beitrag zuletzt geändert: 6.3.2013 17:22:28 von mator-kaleen
  5. g****e

    Methodennamen, so baue ich sie, sollten immer mindestens ein Verb enthalten, denn sie TUN etwas, und du so direkt ablesen kannst, was. Nur ein "Vorname" könnte setter oder getter sein, oder gar was generisches, was beides ist.
    Mindenstens ein Verb im Methodenname, und am liebsten noch ein Objekt, das beschreibt, was da was tut, oder was bearbeitet wird. Längere aber strukturierte Methodennamen können helfen, den Code einfacher verständlich zu machen, sodass das einarbeiten auch leichter wird. :)

    Liebe Grüße
  6. Autor dieses Themas

    m**********n

    Der Meinung bin ich eben auch, aber da in der C# Ecke das alles eben ein wenig anders ist, wollte ich als Perfektionist mir noch eine andere Meinung einholen.

    Nochma danke für die Antworten :cookie:

    Lg
    mator
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!