M
Milzbrand
Gast
Hi Leute!
Ich bin Java-Frischfleisch und hätte da folgendes Problem, wäre klasse wenn mir jemand helfen könnte.
Ich habe eine Klasse Datum mit den Parametern : Tag, Monat, Jahr.
class Datum {
int tag, int monat; int jahr;
Datum(int derTag, int dasMonat, int dasJahr) {
tag = derTag;
monat = dasMonat;
jahr = dasJahr;
}
Ein objekt aus dieser Klasse dient nun unter anderem als Parameter für eine andere Klasse: Ausleihe.
class Ausleihe {
Person ausleiher;
Buch ausgeliehendesBuch;
Datum rückgabe;
Ausleihe(Person derAusleiher, Buch dasAusgeliehendesBuch, Datum dieRückgabe) {
ausleiher = derAusleiher;
ausgeliehendesBuch = dasAusgeliehendesBuch;
rückgabe = dieRückgabe;
}
void verlaengerneinenMonat(){
if (rückgabe.monat == 12){
this.rückgabe.jahr = rückgabe.jahr + 1;
this.rückgabe.monat = 1;
}
else {
this.rückgabe.monat = rückgabe.monat + 1;
}
}}
Die Methode verlaengereeinenMonat dient dazu, ein Buch um genau einen Monat zu verlängern.
Jetzt habe ich folgendes Problem:
Ich erstelle ein objekt Datum:
Datum d = new Datum(01,11,2010);
Und zwei bjekte Ausleihen (Die anderen Parameter lassen ich jetzt einfach mal weg)
Ausleihe a2 = new Ausleihe(p,b,d);
Ausleihe a1 = new Ausleihe(p,b,d);
Wenn ich jetzt die Methothe:
a1.verlaengerneinenMonat();
aufrufe, verändert sich nicht nur das Datum von a1 sondern auch von a2. Also beide haben die Ausgabe:
1.12.2010
Wie kann ich es machen, dass nur das d von a1 verändert wird, nicht aber das d von a2.
Vielen Dank fürs durchlesen.
MfG Mizbrand
Ich bin Java-Frischfleisch und hätte da folgendes Problem, wäre klasse wenn mir jemand helfen könnte.
Ich habe eine Klasse Datum mit den Parametern : Tag, Monat, Jahr.
class Datum {
int tag, int monat; int jahr;
Datum(int derTag, int dasMonat, int dasJahr) {
tag = derTag;
monat = dasMonat;
jahr = dasJahr;
}
Ein objekt aus dieser Klasse dient nun unter anderem als Parameter für eine andere Klasse: Ausleihe.
class Ausleihe {
Person ausleiher;
Buch ausgeliehendesBuch;
Datum rückgabe;
Ausleihe(Person derAusleiher, Buch dasAusgeliehendesBuch, Datum dieRückgabe) {
ausleiher = derAusleiher;
ausgeliehendesBuch = dasAusgeliehendesBuch;
rückgabe = dieRückgabe;
}
void verlaengerneinenMonat(){
if (rückgabe.monat == 12){
this.rückgabe.jahr = rückgabe.jahr + 1;
this.rückgabe.monat = 1;
}
else {
this.rückgabe.monat = rückgabe.monat + 1;
}
}}
Die Methode verlaengereeinenMonat dient dazu, ein Buch um genau einen Monat zu verlängern.
Jetzt habe ich folgendes Problem:
Ich erstelle ein objekt Datum:
Datum d = new Datum(01,11,2010);
Und zwei bjekte Ausleihen (Die anderen Parameter lassen ich jetzt einfach mal weg)
Ausleihe a2 = new Ausleihe(p,b,d);
Ausleihe a1 = new Ausleihe(p,b,d);
Wenn ich jetzt die Methothe:
a1.verlaengerneinenMonat();
aufrufe, verändert sich nicht nur das Datum von a1 sondern auch von a2. Also beide haben die Ausgabe:
1.12.2010
Wie kann ich es machen, dass nur das d von a1 verändert wird, nicht aber das d von a2.
Vielen Dank fürs durchlesen.
MfG Mizbrand