VerständnisProblem mit Beispielaufgabe aus Buch

benimus

Neues Mitglied
Hallo,

ich bringe mir seit einigen Monaten Java mit dem Buch "Programmieren lernen mit Java" bei. Nun bin ich auf ein Verständnisproblem mit einer Übungsaufgabe gestoßen. Die Aufgabenstellung lautet:
Leiten Sie von der Klasse Bruch aus Aufgabe 3 die Subklasse BruchMitSeriennummer ab. Ergänzen Sie die Klasse um ein ganzzahliges Attribut mit dem Namen seriennummer. In dem Attribut soll jeder Bruch seine Seriennummer speichern. Der zuerst erzeugte Bruch soll die Seriennummer 1 erhalten, der zweite Bruch die Seriennummer 2 usw. Für jeden weiteren Bruch wird die Seriennummer also um 1 erhöht.

Da ich nicht wusste, wie ich das umsetzten sollte habe ich mir folgende Musterlösung angesehen(von der Buch CD):
Java:
public class BruchMitSeriennummer extends Bruch {
    static int anzahl = 0;
    private final int seriennummer;

    BruchMitSeriennummer(int x, int y) {
	super(x, y);
	anzahl++;
	seriennummer = anzahl;
    }

    BruchMitSeriennummer() {
	this(0, 1);
    }

    BruchMitSeriennummer(int x) {
	this(x, 1);
    }

    int getSeriennummer() {
	return seriennummer;
    }
}
Die Funktion des ersten Konstruktors kann ich noch verstehen. Aber was bringen der 2. und der 3.?
 
Ob die weiteren Konstruktoren sinnvoll sind, kann man dir hier aus dem Kontext gelöst nicht unbedingt sagen. Unbedingt nötig sind sie jedenfalls für die von dir gepostete Aufgabenstellung nicht.
Du bekommst lediglich die Möglichkeit einen "BruchMitSeriennummer" auch ohne die explizite Angabe aller Attribute zu instanzieren. Und zwar mit vorgewählten default-Werten.

Wills du z.B. den Bruch 4/1 erstellen, so musst du dazu nicht `new BruchMitSeriennummer(4,1)` schreiben, sondern nur `new BruchMitSeriennummer(4)`
 
Zuletzt bearbeitet:

Zurück
Oben