Umwandlung in Javacode

programmer13

Mitglied
Hallo zusammen,

ich möchte das Klassendiagramm in Java Code umwandeln, Bild siehe Anhang.
Sind die leeren Klammern {} in Ordnung. Mein Lehrer meinte, dass man so etwas nicht machen soll. Stimmt meine Umformung?

Java:
public class Punkt {
protected int x;
protected int y;
public void punkt (int x; int y) {}
public int getX () {}
public int getY () {}
}

public class Linie {
public void Linie (int x1; int y1; int x2; int y2)
public int getLaenge ()
}

public class Kreis extends Punkt {
private int r;
public void Kreis (int x; int y; int r) {}
public int getR () {}
public int getKreisFlaeche () {}
}

Danke für die Hilfe.
 

Anhänge

  • 20160712_170651.jpg
    20160712_170651.jpg
    1,5 MB · Aufrufe: 38
Zuletzt bearbeitet von einem Moderator:
Kompiliert's? Nein? - dann ist der Code schon mal syntaktisch/semantisch falsch.

Bis auf 'Linie' passt's aber zum Diagramm. 'Linie' sollte 2 Punkte nutzen, tut es aktuell nicht.

Un leere Klammern machen da halt genau nichts (außer Build-Fehler verursachen) - die Funktion kompiliert nicht, und selbst wenn sie es tun würde, würde sie nichts tun.
 
Hallo,
nein die leeren Klammern sind nicht in Ordnung. Du willst es in Java-Code implementieren. Die Methoden der Klasse sind hierfür auch zu implementieren. Hier so wie es sein soll:
Java:
public class Punkt {
    protected int x;
    protected int y;

    public void Punkt (int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int getX () {
        return x;
    }

    public int getY () {
         return y;
    }
}

public class Linie {
    private Punkt p1, p2;

    public void Linie (int x1, int y1, int x2, int y2){
        p1 = new Punkt(x1, y1);
        p2 = new Punkt(x2, y2);
    }

    public int getLaenge (){
        return Math.sqrt(Math.pow(p1.getX()-p2.getX(), 2)+Math.pow(p1.getY()-p2.getY(), 2));
    }
}

public class Kreis extends Punkt {
    private int r;

    public void Kreis (int x, int y, int r) {
        super(x, y);
        this.r = r;
    }

    public int getR () {
        return r;
    }
   
    public int getKreisFlaeche () {
        return Math.PI*Math.pow(r, 2);
    }
}
 
Scheinbar hast du den Sinn von (getter) Funktion nicht verstanden.
getX soll natürlich den x-Wert zurückgeben, wenn du die Klammern leer lässt, passiert eben nichts und außerdem produziert dies sogar einen kompilierfehler.
 
Aus Interesse: habt ihr vorher schon was mit Java programmiert oder ist das das erste Beispiel das ihr macht? Denn ich kann mir nur schwer vorstellen, dass man als erstes Beispiel gleich was mit Klassendiagramm gibt, das ist nur wenig sinnvoll.
Falls ihr vorher schon Programme geschrieben habt würde mich interessieren, ob davon auch nur ein einziges von dir funktioniert hat. Schließlich trennst du Parameter in Methoden mittels Semikolon, weist deinen Membervariablen keine Werte zu, gibst diese auch nicht zurück, weißt anscheinend nicht was ein Rückgabetyp ist usw. Lies dich bitte nochmal von Grund auf in die Materie ein.

Aja und übrigens: Code gehört in Code-Tags 😉
 
Lernt man mittlerweile Programmieren auch in der Schule ? 😀 Wir hatten nur technisches Zeichnen (CAD) und Schnellschreiben :/ Oder ist das eine Berufsschule ?
 
Sind die leeren Klammern {} in Ordnung. Mein Lehrer meinte, dass man so etwas nicht machen soll.

Dein Lehrer hat keine Ahnung. Im Produktivcode im Professionellen Umfeld wird ständig mit leeren Methoden"rümpfen" gearbeitet.

Wahrscheinlich wollte er, dass ihr euch ein bisschen bemüht, und wenigstens ein (ganz) klein wenig hinschreibt.
 

Zurück
Oben