Werte von Objekt übertragen



  • Hallo zusammen,

    ich stell mir gerade eine Frage und überlege wie ich das am besten lösen kann. Folgendes Szenario...

    Ich habe eine Basis Klasse die ich zB Auto nenne. Jetzt erstelle ich 2 Klassen die von dieser Klasse erben. Zum Beispiel Ford Fiesta und Opel Corsa.

    Wenn ich jetzt im Programm ein Objekt Ford Fiesta erstelle und aber im späteren Verlauf das Objekt Opel Corsa nutzen möchte, anstelle vom Fiesta, wie mache ich das?

    Es gibt zB einen Wert in Ford Fiesta, zB die Menge an Benzin im Auto, die ich gerne an das neue Objekt übertragen möchte.

    Ich habe ansich ein Objekt das ich nutze, muss ich jetzt ein 2. Objekt erstellen, die Werte rüberkopieren und das alte Objekt löschen? Müsste in dem Fall wahrscheinlich auch einen Pointer neu setzen. Das ist alles sehr ümständlich. Gibt es da keine elegantere Lösung?



  • Wenn du zwei Autos in der Garage stehen hast, und das Eine mit dem Benzin des Anderen fahren möchtest, musst du das Benzin umpumpen. Du musst das Auto aber nicht verschrotten.



  • Gibt es denn eine einfache Methode, wenn es nicht nur das Benzin ist, was ich kopieren will? Sagen wir mal ich habe 11 Werte die ich in das andere Objekt rüberkopieren muss. Muss ich dazu mehrere Methoden beider Klassen aufrufen oder gibt es da was einfacheres? Hab gerade nur eine Lösung mit 11 get und set Methoden im Kopf.

    edit: außerdem, wie teil ich meinem Code dann mit, wenn ich 6 Autos habe, dass er mit dem aktuellen arbeiten soll. Sprich ich habe 6 Autos, will von A nach B. Hier müsste ich dem Code mitteilen welches Auto er nutzen soll. Für mich klingt das nach viel arbeit, wenn ich bei jeder Aktion dem Code mitteilen muss welche Auto er nehmen soll.



  • Vielleicht ist dein Wunsch, etwas zu kopieren schon falsch. Objektorientierung möchte die Realität modellieren. Ich kann mir in der Realität nicht vorstellen, was man von einem Auto in das Andere kopieren könnte.

    Was genau hast du vor?



  • manni66 schrieb:

    Vielleicht ist dein Wunsch, etwas zu kopieren schon falsch. Objektorientierung möchte die Realität modellieren. Ich kann mir in der Realität nicht vorstellen, was man von einem Auto in das Andere kopieren könnte.

    Was genau hast du vor?

    Ich habe schon, anhand eines Beispiels, gezeigt was ich vorhabe. Da muss ich eigentlich jetzt nicht ausführlicher werden. Es gibt mehrere Dinge die ich von einem zum anderen Auto vielleicht kopiert haben möchte. Da wäre zB das Gepäck im Kofferraum, das Erste-Hilfe Set, vielleicht sogar die Radkappen, wie gesagt das Benzin, etc.

    Ich will nur Daten von dem einen Objekt ins andere Objekt befördern und das so einfach wie möglich. Dachte es gäbe da vielleicht ein Pattern oder so, was jetzt vielleicht blöd klingt.

    edit: ich dachte auch, da beide von der selben Klasse erben, das es vielleicht eine einfache Variante gibt.


  • Mod

    Bennisen schrieb:

    edit: ich dachte auch, da beide von der selben Klasse erben, das es vielleicht eine einfache Variante gibt.

    Du kannst den gemeinsamen Teil einfach kopieren oder zuweisen. Keine Magie oder Tricksereien nötig.



  • Ich habe schon anhand des einen Beispiels gezeigt, das es sich nicht um kopieren handelt. Genau wie das Benzin, muss sowohl der Verbandkasten als auch das Gepäck dem einen Auto entnommen und in das Andere "eingefügt" werden. Man könnte sich jetzt ein Objekt Ladung vorstellen, das dem eien Auto entnommen und in das Andere eingefügt wird. Das könnte man durchaus per Pointer herrumreichen. Aber mit Benzin, Verbandkasten und Gepäck ist das ziemlich realitätsfern.


Anmelden zum Antworten