Hallo liebe Leute,
ich habe ein konkretes Problem, bei dem ich nicht weiß, ob ich es "static" oder "non-static" machen soll. Ich kenne mich mit der Materie gut genug aus, um zu wissen, was static für Nachteile mit sich bringt - kenne aber auch die Vorteile.
Um zu verstehen was mein Problem ist, folgt nun eine Skizzierung der Klassen und Methoden, die daran beteiligt sind:
So. Hier ist das Problem...
Ich müsste an JEDES WaveEnemies-Objekt eine Referenzvariable von EnemieVerwaltung
übergeben. Wenn ich die Methode "findeGegner(String name)" jedoch static mache - muss ich
zwangsläufig auch die Variable Enemie [] enemie; static machen - womit ich aber ein problem habe.
Was würdet ihr mir raten?
Edit: nicht dass es mir was ausmachen würde eine Referenzvariable einzurichten. Doch das wäre bei weitem nicht die einzige...
es gibt in dem Programm noch etliche Stellen an denen man den Referenzvaiablenwust durch ein simples static lösen könnte... es sieht langsam aber sicher ein wenig unübersichtlich aus...
ich habe ein konkretes Problem, bei dem ich nicht weiß, ob ich es "static" oder "non-static" machen soll. Ich kenne mich mit der Materie gut genug aus, um zu wissen, was static für Nachteile mit sich bringt - kenne aber auch die Vorteile.
Um zu verstehen was mein Problem ist, folgt nun eine Skizzierung der Klassen und Methoden, die daran beteiligt sind:
Java:
Class EnemieVerwaltung {
// verwaltet verschiedene arten von Gegnern,
// die in einem Array gespeichert werden
Enemie [] enemie;
// Array vom Typ Enemie
public Enemie findeGegner(String name){
// Diese Methode sucht in dem Array enemie nach
// einem Objekt, zu dem der übergebene String name
// passt und gibt es zurück
}
}
Java:
Class WaveEnemies {
Enemie enemie;
// Diese Klasse speichert ein EnemieObjekt, von dem zunächst
// nur der name bekannt ist.
// Im Konstruktor wird dann folgendes passieren:
public WaveEnemies(String name){
//...
this.enemie = EnemieVerwaltung.findeGegner(name);
//...
}
}
So. Hier ist das Problem...
Ich müsste an JEDES WaveEnemies-Objekt eine Referenzvariable von EnemieVerwaltung
übergeben. Wenn ich die Methode "findeGegner(String name)" jedoch static mache - muss ich
zwangsläufig auch die Variable Enemie [] enemie; static machen - womit ich aber ein problem habe.
Was würdet ihr mir raten?
Edit: nicht dass es mir was ausmachen würde eine Referenzvariable einzurichten. Doch das wäre bei weitem nicht die einzige...
es gibt in dem Programm noch etliche Stellen an denen man den Referenzvaiablenwust durch ein simples static lösen könnte... es sieht langsam aber sicher ein wenig unübersichtlich aus...
Zuletzt bearbeitet: