Hallo ich muss die Methode equlas für Klasse Buch implementieren :
Anforderungen | Methode equals
Anforderungen | Methode equals
- Die Methode equals nimmt einen Parameter vom Typ Object entgegen.
- Die Methode gibt true zurück genau dann, wenn alleder folgenden Bedingungen erfüllt sind:
- Das übergebene Objekt ist selbst ein Exemplar der Klasse Buch.
- Der Titel des übergebenen Buches stimmt mit dem Titel des eigenen Exemplars überein.
- Der Name der Autor:in des übergebenen Buches stimmt mit dem Namen der Autor:in des eigenen Exemplars überein.
- Die weiteren nicht genannten Eigenschaften des Buches sollen nicht zur Bestimmung der Gleichheit herangezogen werden.
-
Java:
public class Buch { private final long _isbn; private final String _autor; private final String _titel; private final int _preis; private final int _kaufjahr; /** * Erzeugt ein Buch, welches der Sammlung hinzugefuegt * werden soll. * * @param isbn ISBN des Buches * @param autor Autor:in des Buches * @param titel Titel des Buches * @param preis Preis in Eurocent, zu dem das Buch * gekauft wurde * @param kaufjahr Jahr, in dem das Buch gekauft wurde */ public Buch (long isbn, String autor, String titel, int preis, int kaufjahr) { _isbn = isbn; _autor = autor; _titel = titel; _preis = preis; _kaufjahr = kaufjahr; } /** * Gibt die ISBN des Buches zurueck. * @return ISBN */ public long gibISBN() { return _isbn; } /** * Gibt die Autor:in des Buches zurueck. * @return Autor:in des Buches */ public String gibAutor() { return _autor; } /** * Gibt den Titel des Buches zurueck. * @return Titel des Buches */ public String gibTitel() { return _titel; } /** * Gibt den Preis zurueck, zu dem das Buch gekauft wurde. * @return Kaufpreis in Eurocent */ public int gibPreis() { return _preis; } /** * Gibt das Jahr zurueck, in dem das Buch gekauft wurde. * @return Kaufjahr */ public int gibKaufjahr() { return _kaufjahr; } public boolean equals(Object o) { // ueberpruefe, ob das uebergebene Object ein Buch ist if (o instanceof Buch) { // sichere dem Kompiler zu, dass der Typ wirklich Buch ist Buch b =o.getClass(); // vergleiche an der typsicheren Variable alle noetigen Eigenschaften if(b._titel.equals(o._titel) && b._author.equals(o._author)){ return true; } } // wenn das Object kein Buch ist, kann es nicht gleich mit einem Buch sein return false; } }
// sichere dem Kompiler zu, dass der Typ wirklich Buch ist
Buch b =.....; implementieren kann! ich hatteCode:Buch b =o.getClass();