Hiho Alle!
Vorweg, dies ist keine Hausaufgabe, die gemacht werden soll, was man auch erkennt, wenn man bis zum Ende liesst, nur vorweg, da es ein langer Post ist um das Problem genauestens zu beschreiben.
Habe schon überall gesucht, wo ich nur suchen konnte, jedoch nichts Zutreffendes gefunden, und so wie es in meinem Lehrheft steht, funktioniert es nicht.
Erst einmal der Code der Haupt-Klasse Kreis (vor dem Auslagern):
Die Aufgabe:
-Die Variablen x und y in eine weitere Klasse Figur verlagern und in der Klasse Kreis Deklarationen und Zugriffsmethoden von x und y löschen
-bewege-Methode in die Klasse Figur verlagern
-skaliere- und zeichne-Methoden als abstrakte Methoden in die Klasse Figur aufnehmen
-getUmfang und getFlaeche ebenso als abstrakte Methoden in die Klasse Figur aufnehmen
Die Klasse Figur sieht dann folgendermaßen aus:
Mein Lösungsversuch in der Klasse Kreis, um auf x und y in der Klasse Figur zugreifen zu können, sieht so aus:
Es existiert auch noch eine weitere Klasse KreisApplet:
Jetzt gibt mir Eclipse folgende Fehlermeldung zurück:
Die Frage: Wo sind die Fehler in der Klasse Kreis und KreisApplet?
Eclipse zeigt mir nur in der Klasse KreisApplet den Fehler an:
...womit ich leider auch nicht wirklich viel anfangen kann, da zeichne ja noch in Kreis definiert ist.
Sitze nun schon seit gerechnet 5 Stunden an diesen Problemen und komme einfach nicht weiter, könnt ihr mir da evtl. weiterhelfen? Hoffe, dass mein Problem soweit klar ist. Vielen dank schonmal im Vorraus!
mfg
xSilencEx aKa Dennis
Vorweg, dies ist keine Hausaufgabe, die gemacht werden soll, was man auch erkennt, wenn man bis zum Ende liesst, nur vorweg, da es ein langer Post ist um das Problem genauestens zu beschreiben.
Habe schon überall gesucht, wo ich nur suchen konnte, jedoch nichts Zutreffendes gefunden, und so wie es in meinem Lehrheft steht, funktioniert es nicht.
Erst einmal der Code der Haupt-Klasse Kreis (vor dem Auslagern):
Code:
public class Kreis extends Object {
private int x;
private int y;
private int radius;
public final double PI = 3.14159;
private static int kreisZaehler = 0;
public Kreis() {
this(0, 0, 100);
}
public Kreis (int x, int y, int radius) {
this.x = x;
this.y = y;
this.radius = radius;
kreisZaehler++;
}
public int getX() { return x; }
public int getY() { return y; }
public int getRadius() { return radius; }
public static int getKreisZaehler() { return kreisZaehler; }
public double getFlaeche() {
return radius * radius * PI;
}
public double getUmfang() {
return 2 * radius * PI;
}
public void bewege(int deltaX, int deltaY) {
x += deltaX;
y += deltaY;
}
public void skaliere(int deltaRadius) {
radius += deltaRadius;
}
public String toString() {
return "Kreis - Mittelpunkt "+x+"/"+y+", Radius "+radius;
}
}
Die Aufgabe:
-Die Variablen x und y in eine weitere Klasse Figur verlagern und in der Klasse Kreis Deklarationen und Zugriffsmethoden von x und y löschen
-bewege-Methode in die Klasse Figur verlagern
-skaliere- und zeichne-Methoden als abstrakte Methoden in die Klasse Figur aufnehmen
-getUmfang und getFlaeche ebenso als abstrakte Methoden in die Klasse Figur aufnehmen
Die Klasse Figur sieht dann folgendermaßen aus:
Code:
public abstract class Figur extends Object {
protected int x;
protected int y;
protected int radius;
public int getX() { return x; }
public int getY() {return y; }
public abstract double getFlaeche();
public abstract double getUmfang();
public abstract void skaliere(int delta);
public abstract void zeichne(java.awt.Graphics g);
public void bewege(int deltaX, int deltaY) {
x += deltaX;
y += deltaY;
}
}
Mein Lösungsversuch in der Klasse Kreis, um auf x und y in der Klasse Figur zugreifen zu können, sieht so aus:
Code:
...
Figur figur;
private int x = figur.getX();
private int y = figur.getY();
...
Es existiert auch noch eine weitere Klasse KreisApplet:
Code:
public class KreisApplet extends java.applet.Applet {
Kreis kreis;
public void init() {
kreis = new Kreis(100, 100, 50);
}
public void paint(java.awt.Graphics g) {
kreis.zeichne(g);
}
}
Jetzt gibt mir Eclipse folgende Fehlermeldung zurück:
Code:
java.lang.NullPointerException
at Kreis.<init>(Kreis.java:5)
at KreisApplet.init(KreisApplet.java:8)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Die Frage: Wo sind die Fehler in der Klasse Kreis und KreisApplet?
Eclipse zeigt mir nur in der Klasse KreisApplet den Fehler an:
Code:
The method zeichne(Graphics) is undefined for the type Kreis
...womit ich leider auch nicht wirklich viel anfangen kann, da zeichne ja noch in Kreis definiert ist.
Sitze nun schon seit gerechnet 5 Stunden an diesen Problemen und komme einfach nicht weiter, könnt ihr mir da evtl. weiterhelfen? Hoffe, dass mein Problem soweit klar ist. Vielen dank schonmal im Vorraus!
mfg
xSilencEx aKa Dennis