Klassen Objekte verwalten

EisKaffee

Mitglied
Hi 😎

mal ne Frage ...

Ich hab ich meinem Programm mehrere Objekte erstellt

Dazu habe ich eine Arraylist in die ich die Objekte serialisiere

Wie macht man das jetzt

Also Programmstart Arraylist laden alle Objekte neu instanzieren und mit den Objekten arbeiten
oder immer auf die Arraylist zugreifen mit get ... Attribut

Und am Ende die Arraylist speichern (oder die bearbeiteten Objekte erst wieder in die Arraylist schieben)?

Was ist der bessere Weg?
 
Naja Daten verwalten halt - Objekte laden speichern ändern neu erstellen und dann im Programm benutzen

oder Attribute bestimmter Objekte verwalten - hab noch keine bestimmte Verwendung

bin noch am Experimentieren

z.B.

Java:
public class Ork {

    private static int anzahl;

    int id;
    String name;
    int health;
    int strength;
    int ammo;

    ...
}

Orks erstellen, Methoden dazu schreiben und halt mal schauen,
was man damit anfangen kann
 
Zuletzt bearbeitet:
Dazu würde ich dir gern diesen Link empfehlen: http://www.java-tutorial.org/

Es gibt wirklich viel was man machen kann. Die Grundlagen verraten dir den objektorientierten Aufbau und gehen auch weiter hinaus. Du kannst Beispiele auf deine eigenen Ideen übertragen.

Aber um dir hier gezielt Hilfe zu geben:
Was bedeutet ps int anzahl? Anzahl der Orks? Wenn ja, wieso wird der Wert in einer einzelnen Ork-Klasse gehalten? Soll strenght und health ein Ganzzahlwert sein? Lassen sich die Attribute in der Klasse Ork nicht auch generell für andere Figuren verwenden? Elfen, Menschen und Zwerge haben doch auch health, strength etc.? Soweit zum konzeptionellen Ansatz.
 
Ääähhh so kompliziert sollte es am Anfang doch nicht werden

Erst reicht mir eine Antwort darauf

Also Programmstart Arraylist laden alle Objekte neu instanzieren und mit den Objekten arbeiten
oder immer auf die Arraylist zugreifen mit get ... Attribut

Und am Ende die Arraylist speichern (oder die bearbeiteten Objekte erst wieder in die Arraylist schieben)?

Mir reicht erst mal wenn das funktioniert bzw. welche Vorgehensweise sinnvoller ist?

Wie gesagt ist nur ne Testklasse wollte nicht gleich ein Klassenbaum etc. erstellen
 
Zuletzt bearbeitet:
Du meinst:

arrayList.get(0).setName("Hans Dieter")

...im Vergleich zu:

String name = "Hans Dieter";
Ork ork = arrayList.get(0);
ork.setName(name);

???
 
Richtig ... einmal so

arrayList.get(0).setName("Hans Dieter")

Und wenn ich das Programm starte und die Arraylist habe müssen ja die Objekte irgendwie
wieder freifliegende Objekte werden, wenn ich sie nicht so aus der Arraylist anspreche -

also irgendwie so

Code:
  Ork orky(x) = new Ork();
     
         orky(x).setName();

darüber grübel ich gerade
 
Du willst also wissen, wie du an die Objekte nach dem deserialisieren kommst? Oder willst du wissen, wie du an ein Objekt aus einer ArrayList kommst?

Wie wäre es, wenn du den relevanten Teil deines Codes postest, und dazu schreibst, was nicht funktioniert und welches Verhalten du erwartest?
 
Ich würde darüber nachdenken gleich mit einer Datenbank zu arbeiten. Dann hast du diese Probleme gar nicht weil du immer nur die Objekte lädst und speicherst die Du brauchst.

Und so kompliziert ist sqlite nun auch wieder nicht.

Gruß

Claus
 
@eldrior

Du willst also wissen, wie du an die Objekte nach dem deserialisieren kommst?

Zum Beispiel ... hab noch keinen Code, bin noch in der Findungsphase

@Thallius: hab schon mal ne sqlLite Datenbank für ne AndroidApp genutzt -
wäre für mich diesmal wie Kanonen auf Spatzen schießen

Hätte Bock auf ein paar Textgames (80er 😉 ) die ich später für Android grafisch etwas aufpeppe
aber erst mal langsam anfangen

erst mal geht's nur um die Objekte
 
Also wenn du keine Daten persistierst, dann musst du deine Objekte beim starten der Anwendung mit Werten initialisieren die 'hard coded' sind. So etwas sollte man nicht machen, denn es macht eine fortgeschrittene Anwendung extrem unübersichtlich. Auf kurz oder lang brauchst du eh einen Speicher(ob Textdatei oder Datenbank ist erstmal egal).
Wenn zum Beispiel ein BEnutzer der Anwendung seinem Ork einen Namen geben möchte, dann muss er das bei jedem Neustart der Anwendung wiederholen. Das ist doch ziemlich doof oder? 😛
 
Lieber EisKaffee,

ich möchte dir von dieser Methodik zum speichern von Attributen abraten. Beide Beispiele sind zwar einfach dargestellt, kommen aber eher an anderen, komplizierteren Stellen zum Einsatz.

Versuche an dieser Stelle doch einmal ganz simpel eine Datei anzulegen und dort einen String-Wert hineinzuschreiben und diesen wieder zu laden. Srializable und Reflection brauchst du an dieser Stelle überhaupt nicht. Kanone auf Spatzen 😉
 

Neue Themen


Zurück
Oben