Ma question est très spécifique. Je travaille avec une classe parent et une classe enfant. Je travaille avec des instructions spécifiques données et je dois remplacer la méthode indexOf() de la classe parent dans la classe enfant. Si le paramètre est un objet de la classe parent, retournez la valeur de indexOf() de la classe parent basée sur la valeur du paramètre. Si le paramètre est un objet String, retournez la valeur de indexOf() de la classe parent lorsqu'un objet de la classe parent est créé à partir du paramètre de type string.
Les parties en gras sont ce que je ne comprends pas. C'est la première fois que je travaille avec ce type de chose donc je ne suis pas sûr de comment m'y prendre. Voici ce que j'ai jusqu'à présent :
public class KillList extends LinkedList {
public int indexOf(Object data) {
if (data instanceof AssassinNodeData) {
return .....
} else if (data instanceof String) {
return ....
} else
return -1; // sous toutes les autres circonstances
// circonstance pour indiquer que le paramètre n'est pas de la classe actuelle
}
}
Toutes suggestions ou solutions seraient les bienvenues !
En ce qui concerne la classe parent/enfant. Comme j'étends avec LinkedList au lieu d'étendre simplement la superclasse - y a-t-il une manière particulière d'accéder aux méthodes getter/setter de la superclasse ?
Voici un exemple sur lequel je travaille. Le compilateur me donne "Cannot Find Symbol" et indique que l'emplacement de la méthode getter est dans la sous-classe, mais pas dans la superclasse:
@Override
public String toString() {
return getKiller() + " suit " + getPlayer();
}