Verständnisfrage Referenzvariablen in array

Reggie()

Bekanntes Mitglied
es ist mir klar, dass dies die totale Anfängerfrage ist, aber dies ist die Forumsektion "Java Basics - Anfänger-Themen", also hoffe ich auf Nachsicht und Hilfe 😉

Ich bin noch im Prozess des Verstehens der objektorientierten Programmierung (komme von Basic/VBA)

Das Prinzip der Klassen und Objekte bzw. Referenz auf Objekte habe ich soweit verstanden. Nun habe ich folgendes Problem:
Ich habe die Klasse Spielfigur mit ein paar Eigenschaften (variablen). Dann will ich mittels Konstruktor jede einzelne Spielfigur (als Objekt) erstellen und dabei ihre individuellen Eigenschaften (jede Figur ist einzigartig) zuweisen. das habe ich so gemacht:
Java:
class Spielfigur {
// Variablendefinition
boolean gesetzt;
boolean schwarz;
boolean weiss;
boolean gross;
boolean klein;

//Konstruktor
Spielfigur s = new Spielfigur ( boolean gesetzt, boolean schwarz, boolean weiss, boolean gross, boolean klein )

//Methoden
public setzen() {
this.gesetzt = true;
}
}

Mittels Konstruktor-Aufruf würde ich dann die Spielfiguren (Objekte) erstellen
Java:
Spielfigur sf1 = new Spielfigur (false, true, false, true, false)
Spielfigur sf2 = new Spielfigur (false, false, true, false, true)
nun stellt sich hier die Verständnisfrage: wenn ich bei jedem Spielzug die Gültigkeit der Bedingungen (Eigenschaften) abfragen möchte, dann muss/möchte ich das über Schleifen oder case-abfragen machen. aber dazu müssten doch die Referenzvariablen (hier sf1 und sf2) als array definiert sein, oder?
leider verstehe ich die array definition nicht so ganz.
weil
Java:
Spielfigur sf[1] = new Spielfigur (false, true, false, true, false)
Spielfigur sf[2] = new Spielfigur (false, false, true, false, true)
liefert ne Fehlermeldung. klar, weil es nciht dem Konstruktor entspricht. aber wie soll dann der Konstruktor aussehen?
Java:
Spielfigur s[] = new Spielfigur ( boolean gesetzt, boolean schwarz, boolean weiss, boolean gross, boolean klein ) {}

oder löst man das ganze eh ganz anders?

Reggie
 
Der Konstruktor sieht bspw. so aus:
Java:
Spielfigur(boolean gesetzt, boolean schwarz, boolean weiss, boolean gross, boolean klein) {
// hier die Standardwerte festlegen
}

, die Instantiierung später so:
Java:
sf = new Spielfigur(true, false, true, false, true);

Ein Array muss auch erst einmal instantiiert werden:
Java:
Spielfigur[] figuren = new Spielfigur[10];

Anschließend kannst Du den einzelnen Spielfiguren im Array Werte zuweisen:
Java:
figuren[0] = new Spielfigur(true, true, true, true, true);
figuren[1] = ...;
figuren[2] = ...;
...

War das die Frage?
 

Neue Themen


Zurück
Oben