Problème : extends Et implements ..
Résolu
Mayusu
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
Mayusu Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
Mayusu Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je débute sur java et je me trouve bloquée devant un petit problème que je n'arrive pas à résoudre :s
Voilà, je dois créer deux classes "Employe" et "Client" qui extends de "Personne", et implémenter l'interface Comparable pour trier les Employe et les Client selon un critère que je déterminerai ..
Voilà mes en-têtes :
Et j'obtiens l'erreur :
"The type Personne must implement the inherited abstract method Comparable.compareTo(Object)"
A l'aide ! Merci beaucoup d'avance :D
Je débute sur java et je me trouve bloquée devant un petit problème que je n'arrive pas à résoudre :s
Voilà, je dois créer deux classes "Employe" et "Client" qui extends de "Personne", et implémenter l'interface Comparable pour trier les Employe et les Client selon un critère que je déterminerai ..
Voilà mes en-têtes :
public class Client extends Personne { // Code public int compareTo(Personne Pers) { // Code } } public class Employe extends Personne { // Code public int compareTo(Employe Emp) { // Code } } public class Personne implements Comparable { // Code public int compareTo(Client Cl) { // Code } } public interface Comparable { public int compareTo(Personne Pers); public int compareTo(Client Cl); public int compareTo(Employe Emp); }
Et j'obtiens l'erreur :
"The type Personne must implement the inherited abstract method Comparable.compareTo(Object)"
A l'aide ! Merci beaucoup d'avance :D
1 réponse
Bonjour,
L'interface Comparable existe déjà, tu n'as pas à la réécrire toi même.
https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html
L'interface Comparable existe déjà, tu n'as pas à la réécrire toi même.
https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html
public class Personne implements Comparable<Personne> { @Override public int compareTo(Personne p) { // Code } }
J'ai supprimé l'interface Comparable et j'ai ajouté le "<Personne>" comme tu l'as suggéré (même si je ne comprend pas pourquoi) .. mais le message d'erreur s'affiche toujours, plus un autre :
"Syntax error, parameterized types are only available if source level is 1.5"
(Il fait référence à la ligne que je viens de modifier)
:s
La dernière version de Java c'est Java 8, au pire tu pourrais coder en Java 6, mais en dessous de 5, ça fait vraiment vieillot...
Mais pour le premier message, que dois-je faire ?
Il demande à ce que tu implémentes un compareTo(Object) mais en Java 5+ ce sera un compareTo(E) ce qui pourrait expliquer le message.