Hallo Leute,
ich habe folgende angabe
Klasse ProduktId
Jedes Produkt hat eine ProduktId; jedes Objekt der Klasse ProduktId speichert einen Code, der aus 10 – 14 Zeichen besteht. Der Code beginnt mit dem Kategorie-Code, der aus 3 Großbuchstaben besteht. Nach einem weiteren Bindestrich folgt das Datum der Produkteinführung, 1001 steht für Jänner 2010, 0912 für Dezember 2009. Nach noch einem Bindestrich folgt eine 1- bis 5-stellige eindeutige Zahl. Beispiele für den Produktcode sind GEM-2010-7, FLE-9004-812 oder TEI-9305-12.
Schreibe die Klasse ProduktId. Die ProduktId muss ihren Code im Konstruktor überprüfen und kann ihn danach nicht mehr ändern. Die ProduktId kann den Code entweder vollständig oder in seinen Teilen zurück geben (Kategorie-Code, Datum-Code, laufende Nummer).
Interface Produkt
Jedes Produkt hat eine ProduktId, einen Namen, ein Gewicht und einen Preis (jeweils double). Entwerfe Produkt als Interface. Der Gewicht und der Preis müssen positiv sein. Außerdem hat die Klasse Produkt einen Namen, der nicht leer sein darf und aus Groß- und Kleinbuchstaben, Ziffern, Binde- und Unterstrichen bestehen darf.
Klasse BasisProdukt
Implementiere das Interface Produkt in der Klasse BasisProdukt.
Klasse AktionsProdukt
Ein Objekt der Klasse AktionsProdukt stellt ein verbilligtes Produkt dar (und implementiert Produkt). AktionsProdukt speichert zuerst das Produkt, welches verbilligt werden soll. Dazu wird als int gespeichert, um wie viel Prozent das Produkt verbilligt werden soll (muss positiv sein). Alle Methoden von AktionsProdukt geben die Werte des gespeicherten Produkts zurück. Nur beim Preis werden noch so viel Prozent abgezogen, wie gespeichert sind.
Klasse MengenRabattProdukt
Ein MengenRabattProdukt erlaubt ist auch ein Produkt und erlaubt wie AktionsProdukt einen Nachlass. Der Nachlass wird aber erst beim Kauf einer bestimmen Menge gewährt. Das MengenRabattProdukt speichert das verbillige Produkt, den neuen Preis pro Stück als double, sowie die Menge, die der Kunde kaufen muss, um den Nachlass zu bekommen. Die Methoden werden so überschrieben, dass das Produkt jetzt den neuen Gesamtpreis zurück gibt, das Gesamtgewicht, im Namen wird die Stückanzahl ergänzt – aus „Cola-Dose“ wird „25 x Cola-Dose“.
ich bin so vorgegangen
1) habe ich classe ProduktId() implementiert
2) habe ich classe Basisprodukt implementiert mit konstruktor :
public BasisProdukt(String name, double gewicht, double preis, ProduktId produktId)
und methoden getName(), getGewicht() und getPreis()
3)public class AktionsProdukt extends BasisProdukt mit methode getAktuellePreis()
4)public class MengenRabattProdukt extends BasisProdukt mit methode getNeuePreis()
5) habe ich interface Produkt erstellt
meine frage lautet folgendermassen ob ich interface richtig implementiert habe und wollte ich fragen ob ich bei klassen was ich erwähnt habe dazu implements Produkt schreiben soll
falls ich nicht gut verfasst habe, kann ich meine codes posten
danke euch für eure hilfe
lg nata
ich habe folgende angabe
Klasse ProduktId
Jedes Produkt hat eine ProduktId; jedes Objekt der Klasse ProduktId speichert einen Code, der aus 10 – 14 Zeichen besteht. Der Code beginnt mit dem Kategorie-Code, der aus 3 Großbuchstaben besteht. Nach einem weiteren Bindestrich folgt das Datum der Produkteinführung, 1001 steht für Jänner 2010, 0912 für Dezember 2009. Nach noch einem Bindestrich folgt eine 1- bis 5-stellige eindeutige Zahl. Beispiele für den Produktcode sind GEM-2010-7, FLE-9004-812 oder TEI-9305-12.
Schreibe die Klasse ProduktId. Die ProduktId muss ihren Code im Konstruktor überprüfen und kann ihn danach nicht mehr ändern. Die ProduktId kann den Code entweder vollständig oder in seinen Teilen zurück geben (Kategorie-Code, Datum-Code, laufende Nummer).
Interface Produkt
Jedes Produkt hat eine ProduktId, einen Namen, ein Gewicht und einen Preis (jeweils double). Entwerfe Produkt als Interface. Der Gewicht und der Preis müssen positiv sein. Außerdem hat die Klasse Produkt einen Namen, der nicht leer sein darf und aus Groß- und Kleinbuchstaben, Ziffern, Binde- und Unterstrichen bestehen darf.
Klasse BasisProdukt
Implementiere das Interface Produkt in der Klasse BasisProdukt.
Klasse AktionsProdukt
Ein Objekt der Klasse AktionsProdukt stellt ein verbilligtes Produkt dar (und implementiert Produkt). AktionsProdukt speichert zuerst das Produkt, welches verbilligt werden soll. Dazu wird als int gespeichert, um wie viel Prozent das Produkt verbilligt werden soll (muss positiv sein). Alle Methoden von AktionsProdukt geben die Werte des gespeicherten Produkts zurück. Nur beim Preis werden noch so viel Prozent abgezogen, wie gespeichert sind.
Klasse MengenRabattProdukt
Ein MengenRabattProdukt erlaubt ist auch ein Produkt und erlaubt wie AktionsProdukt einen Nachlass. Der Nachlass wird aber erst beim Kauf einer bestimmen Menge gewährt. Das MengenRabattProdukt speichert das verbillige Produkt, den neuen Preis pro Stück als double, sowie die Menge, die der Kunde kaufen muss, um den Nachlass zu bekommen. Die Methoden werden so überschrieben, dass das Produkt jetzt den neuen Gesamtpreis zurück gibt, das Gesamtgewicht, im Namen wird die Stückanzahl ergänzt – aus „Cola-Dose“ wird „25 x Cola-Dose“.
ich bin so vorgegangen
1) habe ich classe ProduktId() implementiert
2) habe ich classe Basisprodukt implementiert mit konstruktor :
public BasisProdukt(String name, double gewicht, double preis, ProduktId produktId)
und methoden getName(), getGewicht() und getPreis()
3)public class AktionsProdukt extends BasisProdukt mit methode getAktuellePreis()
4)public class MengenRabattProdukt extends BasisProdukt mit methode getNeuePreis()
5) habe ich interface Produkt erstellt
Java:
public interface Produkt {
String getProduktId();
String getName();
double getGewicht();
double getPreis();
}
meine frage lautet folgendermassen ob ich interface richtig implementiert habe und wollte ich fragen ob ich bei klassen was ich erwähnt habe dazu implements Produkt schreiben soll
falls ich nicht gut verfasst habe, kann ich meine codes posten
danke euch für eure hilfe
lg nata