Ergebnis 1 bis 20 von 323

Thema: Kleine RmXP FAQ

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat
    Du musst dir aber im klaren sein, dass beim Deserialisieren eines Objektes (wie z.B. aus einer Datei) der Konstruktor nicht erneut aufgerufen wird.
    Was für Probleme könnten dadurch denn entstehen? Wenn ich mir so die Scene_Load-Methode anschaue, werden dort die Objekte ja auch nicht wieder neu initialisiert. Die Initialisierung findet ja nur in Scene_Title statt.

    Zitat Zitat
    Stellt sich natürlich die Frage, warum du eine ganz neue Klasse dafür erstellst, und nicht einfach die bestehende erweiterst.
    Ich brauche deren Variablen und Methoden eigentlich nicht. Außerdem möchte ich auf die Objekte ganz anders zugreifen, also die üblichen Makerfunktionen wie Gruppenmitglieder rein/raus usw. werde ich anders lösen. Ok, hauptsächlich weil meine Rubykenntnisse sich arg in Grenzen halten. Andererseits habe ich aber auch keine Lust alles mit den normalen Makervariablen zu lösen, weil es mich stört immer wieder überlegen zu müssen, ob Variable 132 nun die HP oder MP sind.

  2. #2
    Zitat Zitat von Kelven Beitrag anzeigen
    Was für Probleme könnten dadurch denn entstehen? Wenn ich mir so die Scene_Load-Methode anschaue, werden dort die Objekte ja auch nicht wieder neu initialisiert. Die Initialisierung findet ja nur in Scene_Title statt.
    Das ist richtig. Beim Deserialisieren (oder unmarshaling, wie Ruby es nennt), werden lediglich die Daten aus einer Datei gelesen, und wieder in ein Objekt gesteckt. In der Regel hat es keinerlei auswirkungen darauf, ob der Konstruktor aufgerufen wird oder nicht, denn die Inhalte stehen ja nun drin, wie sie waren, als sie in die Datei serialisiert wurden. Solltest du jedoch irgendwelche Funktionalität im Konstruktor haben, die über das pure Initialisieren der Werte hinausgeht, und die immer ausgeführt werden soll, wenn ein Objekt erstellt wird, so wird sie beim deserialisieren nicht ausgeführt, da der Konstruktor ja nicht aufgerufen wird. Das stört in den meisten Fällen nicht wirklich, aber ich dachte nur, ich erwähne es einmal.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •