Vererbung von Attributen



  • Hallo zusammen
    Ich habe vor einige Diagrammklassen zu schreiben, welche Daten in Echtzeit darstellen können. Mein Klassendesign sieht vor, dass die Eltenklasse der Diagramme den Hintergrund (Titel, Grösse usw.) besitzt. Noch nicht geklärt habe ich, wie die Attribute elegant konfiguriert werden können.
    1. Idee:
    Zugriff auf sämtliche Attribute über entsprechende Methoden
    - sehr viele Schreibarbeit und unhantlich
    2. Idee:
    Methode, welche mir einen Struct mit den aktuellen Attributen zurückliefert.

    [code]
    Struct_t myAttributes = myObject.GetAttributes();
    [/code]
    

    Dieser wird konfiguriert...

    [code]
    myAttributes.PenWidth = 5;
    myAttributes.Font = "Arial";
    .
    .
    [/code]
    

    und schliesslich mit einer Methode wieder an das Objekt übergeben.

    [code]
    myObject.SetAttributes(Struct_t myAttributes) 
    [/code]
    

    Der zweite Fall ist insofern nicht elegent, dass ich in der Kindklasse zusätzliche Attribute habe. Es ist nicht ohne weiteres möglich diese im Struct der Eltenklasse unterzubringen.
    Hat jemand von Euch eine Idee, wie ich dies am einfachsten bewerkstelligen könnte?
    Spark



  • Am schönsten find ich für sowas Properties. Leider fehlt in C++ dafür eine native Funktionalität. Man kann sowas aber durchaus simulieren, ist allerdings nicht gerade trivial.
    Ansonsten sind getter/setter Funktionen dafür immer noch am einfachsten (welche man bei der Property Simulation übrigens auch braucht). Du musst sie ja nicht get_foo oder set_foo nennen. Man kann auch Überladung nutzen. 'bar foo() const' als getter und 'void foo(bar)' als setter.


Anmelden zum Antworten