Klassen aufeinander beziehen

FelixX

Mitglied
Hey Leute, ich hoffe ihr könnt mir helfen!!

Also ich versuche in einer Klasse 2 Farben zu definieren (0) und (1)

mein ansatz wäre:

Java:
public class Homework {

char color;
this.color = color;

aber da gibt er eine fehlermeldung aus bei this.color = color
wie schreibt man das richtig?

und wenn ich dann das in meiner anderen Klasse verwenden will, schreib ich das mit einer while oder for schleife oder nicht?

also z.b.:

Java:
public class Ball extends Homework{
wie teile ich dem Ball jetzt die Farbe "rot" hinzu?
kann jemand die for/while schleife mir dafür zeigen?

Schonmal danke im vorraus
FelixX
 
Hallo,

du vermischt ganz viele Sachen ganz gewaltig. Am besten du liest dir die Startkapitel deines Buches/ Tutorials nochmal durch. Ansonsten wüsste ich nämlich nicht wo man anfangen sollte zu erklären 🙂
 
Hey Leute, ich hoffe ihr könnt mir helfen!!

Also ich versuche in einer Klasse 2 Farben zu definieren (0) und (1)

mein ansatz wäre:

Java:
public class Homework {

char color;
this.color = color;

aber da gibt er eine fehlermeldung aus bei this.color = color
wie schreibt man das richtig?

Die Zeile
Code:
this.color = color;
steht weder in einer Methode, noch in einem Konstruktor. Sie wird aber nur aufgerufen, wenn sie in einer Methode oder einem Konstruktor steht und dieser durchlaufen wird.
und wenn ich dann das in meiner anderen Klasse verwenden will, schreib ich das mit einer while oder for schleife oder nicht?

While- und for-Schleifen dienen dazu, mehrere Elemente "abzuarbeiten". Hier hast du aber nur eine Farbe, da braucht man keine Schleifen, höchstens Bedingungen (Stichwort if-then-else).

also z.b.:

Java:
public class Ball extends Homework{
wie teile ich dem Ball jetzt die Farbe "rot" hinzu?
kann jemand die for/while schleife mir dafür zeigen?

Schonmal danke im vorraus
FelixX

Ich versuche mal, dir eine halbwegs vollständige Komplettlösung zu bieten:

Java:
public class Homework {
   private final char color;

   public Homework(final char color) { // wenn eine neue Instanz erzeugt wird, Farbe festlegen
      this.color = color;
   }

   public char getColor() { // mit dieser Methode können andere Objekte die Farbe abrufen
      return color;
   }
}

Java:
public class Ball extends Homework {
   public Ball() { // Beim Erzeugen einer neuen Instanz wird der Konstruktor von Homework mit dem Parameter 'r' aufgerufen.
      super('r'); // r = rot;
   }
}

Ich empfehle dir dringend, noch einmal die Grundlagen von JAVA anzusehen.

Gruß,
Timo
 
Ah okay, ja werd ich auch noch machen müssen :rtfm::rtfm:

okay ich hab meine homework.class jetzt geändert und das sieht auch soweit gut aus
mir ist nicht klar was das
Java:
super 'r';
jetzt einem sagt,
was ist super? und woher weiß java das ich mit 'r' gemeint habe?

Java:
public class Ball {
public Ball ball = new Ball();

btw. streich den kommentar von mir dadrüber, bin zu früh auf absenden :/
und jetzt die farbe?
gruß felix
 
Zuletzt bearbeitet:
also super "r";

hier wird dem Konstruktor der Mutter- oder auch Superklasse der String r übergeben das wäre in diesem Fall das hier:

Java:
public Homework(final char color) { // wenn eine neue Instanz erzeugt wird, Farbe festlegen
      this.color = color;
   }

Aber ich kann dir nur ans Herz legen dir eine andere Lösung dafür zu überlegen. Ich bin mir sicher das du mit Vererbung nicht klar kommst, da erst noch ein paar grundlegende Dinge lernen musst.

Ich würde für den Anfang mit ein paar Consolenausgaben Anfangen. Oder kannst hier ja mal bisschen rumschauen, die hab ich am Anfang auch gemacht 🙂

Java-Aufgaben - Die Sprache Java | tutego
Java-Aufgaben | tutego

Grüße


Warum willst du eigentlich extra eine Klasse für 2 Farben?
 
Zuletzt bearbeitet:

Dieses Konstrukt gibt es nicht. Eher super("r");


etzt einem sagt,
Java:
public class Ball {
public Ball ball = new Ball();

Das hier erzeugt eine Endlosschleife.

was ist super? und woher weiß java das ich mit 'r' gemeint habe?

Steht in jedem Java Buch. Das solltest du dir angucken.

Das Forum kann dir kein Buch ersetzten.
 

Zurück
Oben