Bluej Problem beim deklarieren?
Ich möchte Attribute deklarieren und anschließend initialisieren. Nur leider klappt es bei mir nicht. Es kommt die Meldungen, dass das Symbol nicht gefunden werden kann. In der Schule hat es geklappt, daher weis ich nicht wo mein Fehler liegt. Würde mich freuen, wenn mir jemand weiterhelfen kann.

1 Antwort
du versuchst, pFarbe zuzuweisen - aber es gibt kein pFarbe ... weder in den Objektattributen, noch als Parameter der Methode.
ersetz mal die gelb hinterlegte Farbe hiermit:
this.farbe = farbe;
dann hast du in der Schule nicht ganz so aufgepasst und etwas ein bisschen anders übernommen. Daher gibt es mit deinem gegebenen Code keine andere Lösung.
An sich ist es so:
Du hast unter den Objektattributen festgelegt, dass es eine Integer-Variable mit dem namen "farbe" gibt.
Jetzt hast du auch einen Konstruktor erstellt, welcher 3 Integer und einen double entgegennimmt - in genau dieser Reihenfolge.
Den dritten Integer hast DU jetzt hier "farbe" genannt - so wird dieser im Konstruktor selbst adressiert.
Dein Problem: Auch das Objektattribut heißt "farbe". Um diesem dann den entsprechenden Wert zuzuweisen, musst du noch festlegen, dass das Attribut des momentanen Objekts angesprochen wird - dies machst du mit dem Schlüsselwort "this."
Wenn du Variablen umgenennen kannst, kannst du im Konstruktor von Quadrat einfach "int pFarbe" statt "int farbe" nehmen - dadurch gibt es auch keine Kollision und du kannst einfach
farbe = pFarbe;
schreiben
Ok Danke es zeigt jetzt keinen Fehler mehr an. Nur verwirrt es mich trotzdem ein bisschen, weil wir das in der Schule nicht so gemacht haben. Gibt es vllt noch eine andere Lösung?