Problème : extends Et implements ..

Résolu
Mayusu Messages postés 51 Statut Membre -  
Mayusu Messages postés 51 Statut Membre -
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 :

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

KX Messages postés 19031 Statut Modérateur 3 020
 
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

public class Personne implements Comparable<Personne>
{
    @Override
    public int compareTo(Personne p)
    {
        // Code
    }
}
0
Mayusu Messages postés 51 Statut Membre
 
Aah oui !

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
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Le nouveau message signifie que tu codes en Java 4 ou moins !!!
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...
0
Mayusu Messages postés 51 Statut Membre
 
Aah ok, je vais voir ça, merci :D

Mais pour le premier message, que dois-je faire ?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Regarde s'il apparaît toujours avec une version plus récente de Java.
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.
0
Mayusu Messages postés 51 Statut Membre
 
Je vais l'installer et voir .. merci :)
0