Klassendiagramm in Java Code umwandeln

programmer13

Mitglied
hallo zusammen,

ich muss ein Klassendiagramm in java Code umwandeln. Die Aufgabenstellung findet ihr im Anhang. Stimmt meine Lösung oder fehlt etwas?
Vielen Dank für die Hilfe.

Java:
public class Kuenstlerliste {
            public void hinzufuegen (Kuenstlergruppe gruppe) {}
            public boolean entfernen (Kuenstlergruppe gruppe) {}
}

Java:
public abstract class Kuenstlergruppe {
    private string name;
 
    public void Kuenstlergruppe (String name) {}
    public String getName() {
    return name;
    }
    public abstract String getArt()
  }

Java:
public class Musikgruppe extends Kuenstlergruppe {
    public static double aktGemaPauschale;
    private double preisProStunde;
    private String musikStil;
}

public Musikgruppe (String name, String stil, double preis) {}
   public double getAktGemaPauschale() {}
   public double getPreisProStunde () {}

Java:
public class Artistengruppe (double preisProStunde, String genre) {
public Artistengruppe (String name, String genre, double preis) {}
public double getPauschalPreis() {}

}
 

Anhänge

  • Aufgabe.JPG
    Aufgabe.JPG
    1,3 MB · Aufrufe: 161
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Java Code bitte in Code-Tags posten, danke :)
[code] ... dein code ...[/code]

Die KuenstlerListe sollte noch eine Methode get haben, die Artistengruppe leitet nicht von Kuenstlergruppe ab?
Seit wann hat eine Klasse Parameter?
Deine ganzen getter geben nichts zurück.
 
Zuletzt bearbeitet:

programmer13

Mitglied
Java:
public class Kuenstlerliste {
        public void hinzufuegen (Kuenstlergruppe gruppe) {}
        public boolean entfernen (Kuenstlergruppe gruppe) {}
        public Kuenstlergruppe get (int i)
    }
   
    public abstract class Kuenstlergruppe {
        private string name;
    
        public void Kuenstlergruppe (String name) {}
        public String getName() {
        return name; }
        public abstract String getArt() {
            return Art;  }
      }
   
    public class Musikgruppe extends Kuenstlergruppe {
        public static double aktGemaPauschale;
        private double preisProStunde;
        private String musikStil;
    }

    public Musikgruppe (String name, String stil, double preis) {}
       public double getAktGemaPauschale() {return AktGemaPauschale}
       public double getPreisProStunde () {return PreisProStunde}
      
    public class Artistengruppe (double preisProStunde, String genre) {
           public Artistengruppe (String name, String genre, double preis) {}
           public double getPauschalPreis()
           {return PauschalPreis}

           }

Habe die return bei den get-Methoden ergänzt. Welche Punkte daran kann ich noch verbessern?
 

Joose

Top Contributor
Habe die return bei den get-Methoden ergänzt. Welche Punkte daran kann ich noch verbessern?
Einige, auch die ergänzten "return" stimmen nicht oder sind unvollständig ....

Java:
public class Kuenstlerliste {
   public void hinzufuegen (Kuenstlergruppe gruppe) {}
   public boolean entfernen (Kuenstlergruppe gruppe) {}
   public Kuenstlergruppe get (int i)
}
Der Methodenrump der Methode get fehlt (inkl. Inhalt).
Die Methoden hinzufuegen und entfernen sind nicht implementiert.

Java:
public abstract class Kuenstlergruppe {
   private string name;

   public void Kuenstlergruppe (String name) {}
   public String getName() {
   return name; }
   public abstract String getArt() {
   return Art;  }
}
Abstrakte Methoden haben keinen Implementierung, diese werden erst in den Kindklassen implementiert.
Außerdem gibt es kein Attribut Art was soll er also deiner Meinung nach zurückgeben?
Dir fehlt hier der Konstruktor, dafür hast du eine Methode Kuenstlergruppe deklariert. Anmerkung: Ein Konstruktor hat keinen Rückgabewert.

Java:
public class Musikgruppe extends Kuenstlergruppe {
   public static double aktGemaPauschale;
   private double preisProStunde;
   private String musikStil;
}

public Musikgruppe (String name, String stil, double preis) {}
public double getAktGemaPauschale() {return AktGemaPauschale}
public double getPreisProStunde () {return PreisProStunde}
Die Klammerung ist falsch, die Methoden bzw. der Konstruktor befinden sich außerhalb der Klassendeklaration.
Es fehlen ";" und Attribute werden in lowerCamelCase geschrieben. Und nicht wie bei dir mal so mal so ;)

Java:
public class Artistengruppe (double preisProStunde, String genre) {
   public Artistengruppe (String name, String genre, double preis) {}
   public double getPauschalPreis()
   {return PauschalPreis}
}
Seit wann hat eine Klassedeklaration eine Parameterliste?
Woher nimmst du plötzlich das Attribut PauschalPreis welches du im getter zurückgibst? Nirgends ist dieses Attribut deklariert.
Auch hier achte wieder auf die lowerCamelCase schreibweise.

Allgemein:
Laut angabe sollst du das Klassendiagramm umsetzen und auch entsprechend ergänzen. Dir fehlt die Implementierung einiger Methode und aller Konstruktoren.
Abgesehen davon fehlen dir die Grundlagen wie eine Klasse aufgebaut ist, du solltest dir diese Grundlagen nochmal anschauen, lernen und üben. Außerdem ist es ratsam deinen Code doch dem Compiler zu übergeben, dieser wird dich dann auf eine fehlerhafte Syntax aufmerksam machen.
Achte auch auf eine korrekte Einrückung und Formatierung des Codes, dann ist dieser für dich aber auch andere lesbarer.
 

Neue Themen


Oben