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?
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);
}