Seite 1 von 1

Die Ergebnisse der Abschlussaufgabe 1 sind da!

Verfasst: Mo 23. Mär 2009, 13:38
von markusj
Schaut einfach mal ins Postfach, mir hat der Praktomat gerade ne Mail geschrieben!

mfG
Markus

Re: Die Ergebnisse der Abschlussaufgabe 1 sind da!

Verfasst: Mo 23. Mär 2009, 15:33
von salami
Kann mir jemand erklären, wieso das falsch sein soll?

Code: Alles auswählen

                public Point clone() {
s? hier fehlt super.clone();
                        return new Point(this.x, this.y);
                }
Haben wir doch bei der Vorlesung auch so gemacht, oder? :think:
Auch wenn ich super.clone() hinschreibe, dann wird das von Eclipse rot unterstrichen.

Und das:

Code: Alles auswählen

s? Standard ist equals(Object)
                public boolean equals(Point p) {
                        return p != null && this.x == p.getX() && this.y == p.getY();
                }
Haben wir im Tutorium so gemacht (1:1 kopiert), Vorlesung weiß ich nicht.

Re: Die Ergebnisse der Abschlussaufgabe 1 sind da!

Verfasst: Mo 23. Mär 2009, 17:29
von Thomas
das mit equals kam in der vorletzten vl oda sowas dran, beim dem andren ka^^
bei mir wurde auch was angestrichen wo ich vorher extra in der news-group nachgefragt hatte. aba will mich nciht beschweren, dafür dass ich vorher nix konnte in java bin ich mit b für die aufgabe doch sehr zufrieden

Re: Die Ergebnisse der Abschlussaufgabe 1 sind da!

Verfasst: Mo 23. Mär 2009, 17:42
von markusj
salami hat geschrieben:

Code: Alles auswählen

                public Point clone() {
s? hier fehlt super.clone();
                        return new Point(this.x, this.y);
                }
Sieh dir mal die Definition von clone() in Object und die weitere Beschreibung im Interface Clonable an - Eine Forderung ist, dass KEINE Konstruktoren aufgerufen werden. Google hilft dazu auch.
salami hat geschrieben:

Code: Alles auswählen

s? Standard ist equals(Object)
                public boolean equals(Point p) {
                        return p != null && this.x == p.getX() && this.y == p.getY();
                }
Wenn du das normale equals überschreiben willst, solltest du dich auch an die dortige Definition halten - du führst damit eine neue equals-Methode ein, die fast genauso heißt wie die "normale", aber nur beim Vergleich mir anderen Punkten zum Tragen kommt. Rufst du DeinPoint.equals(einNichtPunkt) auf, wird stattdessen weiterhin Object.equals aufgerufen.

mfG
Markus