31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# `equals()` und `hashCode()` implementieren und nutzen
|
|
|
|
[Musterlösung](solution/)
|
|
|
|
## Lernziel
|
|
|
|
Die Methoden `equals()` und `hashCode()` der Klasse `Object` korrekt überschreiben und nutzen.
|
|
|
|
## Aufgabe
|
|
|
|
Im Projekt finden Sie ein Paket [pr2.object.equals_hashcode](../sources/src/main/java/pr2/object/equals_hashcode/) mit zwei Klassen `Wesen` und `Ork` und einen Testfall `WesenTest`.
|
|
|
|
Wenn Sie den Test ausführen wird er nicht erfolgreich sein, da die Methoden `equals` und `hashCode` in der Klasse Ork fehlen.
|
|
|
|
Schauen Sie sich die `equals`- und `hashCode`-Methoden in `Wesen` an und versuchen Sie die Methoden zu verstehen.
|
|
|
|
Schreiben Sie im nächsten Schritt korrekte `equals`- und `hashCode`-Methoden für `Ork`. __Achtung:__ Sie sollten für Ihre Lösung die Klasse `Wesen` nicht verändern.
|
|
|
|
Führen Sie den Test erneut aus, um sicherzustellen, dass die Methoden richtig funktionieren.
|
|
|
|
|
|
## Abgabe (optional)
|
|
|
|
__Sie müssen keine Lösung für diese Aufgabe einreichen.__
|
|
|
|
Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor:
|
|
|
|
1. Öffnen Sie eine Kommandozeile (Terminal).
|
|
2. Gehen Sie in Ihr Working Directory.
|
|
3. Wechseln Sie mit `cd` in das Verzeichnis `sources`.
|
|
4. Bauen Sie das Projekt mit dem Kommando `mvn`. |