Widerspruch in Aufgabenstellung?

nikva

Bekanntes Mitglied
Hallo Java Forum,
In meiner Aufgabenstellung werde ich in einer Aufgabe zu folgendem aufgefordert:

"a) Implementieren Sie eine Methode createSerial die eine ganzzahlige Seriennummer für Produkte generiert. Die erste Seriennummer ist 0 und soll bei jedem Aufruf um 1 erhöht werden. Beachten Sie das diese Nummern über das ganze Programm hinweg eindeutig sein müssen. "

und etwas später dann zu folgendem:

"Erstellen Sie eine allgemeine Klasse Product welche die gemeinsamen Eigenschaften von Produkten bündelt. Erstellt werden aber später nur konkrete Produkte.
a) Bei den Eigenschaften handelt es sich um die ganzzahlige Seriennummer, den Namen des Produkts und den Preis (Euros und Cent).
b) Erstellen Sie einen Konstruktor der Seriennummer, Preis und Name als Parameter erhält"

Für mich klingt das erstmal wie ein Widerspruch, da ich ja nicht einerseits die Seriennummer zentral erzeugen kann damit sie eindeutig ist aber andererseits dann im Konstruktor eine Seriennummer als Parameter zulassen?
Wenn ich das jetzt wie folgt mache dann wird der Parameter serialID im Konstrukot z.B nicht verwendet. Aber wenn ich ihn verwende dann kann man sich auch die Helpermethode sparen oder sehe ich das falsch?

Java:
public class Helper {
    private static int serialID = 0;

    public static int createSerial() {
        return serialID++;
    }

Java:
    public Product(int serialID, int price, String productName) {
        this.setSerialID(Helper.createSerial());
        this.setPrice(price);
        this.setProductName(productName);
    }
 

temi

Top Contributor
Auch schön wäre:
Java:
public final class SerialID {
    private static int nextSerialID = 0;
    private final int serialID;

    private SerialID() {
        serialID = nextSerialID++;
    };
 
    public static SerialID createSerialID() {
        return new SerialID()
    }
 
    public int getValue() {
        return serialID;
    }
 
    // todo: override equals() and hashCode()
}
und dann:
Java:
public Product(SerialID serialID, int price, String productName) {
    //...
}
Das ist vermutlich nicht gefordert, aber man kann damit verhindern, dass einfach irgendein int-Wert an den Konstruktor von Product übergeben wird. Wobei man natürlich auch irgendeine SerialID übergeben kann...
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Alen123 Wie würdet ihr diese Aufgabenstellung lösen? Java Basics - Anfänger-Themen 18
F Wie implementiere ich diese Aufgabenstellung? Java Basics - Anfänger-Themen 16
F Aufgabenstellung genauer formulieren/verständlicher machen? Java Basics - Anfänger-Themen 10
A Unsicher bei Aufgabenstellung Java Basics - Anfänger-Themen 9
A Vererbung Hilfe bei einer Aufgabenstellung Java Basics - Anfänger-Themen 3
D Erste Schritte Hilfe bei Aufgabenstellung Java Basics - Anfänger-Themen 1
M Verbunde Aufgabenstellung Java Basics - Anfänger-Themen 6
N kleine get-Methode anhand einer Aufgabenstellung Java Basics - Anfänger-Themen 13
H Problem mit Aufgabenstellung Java Basics - Anfänger-Themen 3
B verständnisprobleme bei Aufgabenstellung Java Basics - Anfänger-Themen 25
M Gibt es eine einfachere Variante diese Aufgabenstellung zu lösen? Java Basics - Anfänger-Themen 11
J Rekursionsproblem/Aufgabenstellung Java Basics - Anfänger-Themen 9
J Erste OO-Aufgabe-Probleme mit Aufgabenstellung Java Basics - Anfänger-Themen 32
G Nebenläufigkeit - Aufgabenstellung Java Basics - Anfänger-Themen 13
A aufgabenstellung tips Java Basics - Anfänger-Themen 7
M Zwei Lösungsvorschläge für eine Aufgabenstellung gesucht Java Basics - Anfänger-Themen 3
A verstehe aufgabenstellung nicht! Java Basics - Anfänger-Themen 47
E Klassen erkennen in einer Aufgabenstellung Java Basics - Anfänger-Themen 6
W Vererbung: Aufgabenstellung Java Basics - Anfänger-Themen 15
G Aufgabenstellung in JAVA, wie anfangen ? Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben