Créer une classe qui implante une interface.

drspinoza Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -  
drspinoza Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aurai besoin d'aide et de conseil.
On me demande de créer la classe Gen<U extends Individu> qui implante l'interface Genealogie<U>. Et qui réalise toute les méthodes spécifiées par l’interface.

L'interface est remplit de méthode du style:
  • public ArrayList<U> lesIndividus();
  • public U lIndividu(int pos);

Avec chaqu'une des spécifications comme :
  • @param pos, un entier qui est la référence d'un individu dans la généalogie
  • @return, retourne l'individu correspondant


Maintenant j'aimerai juste savoir quel forme devrait avoir la classe qui implante cet interface.
Juste savoir par ou commencer car je suis vraiment perdu et je n'arrive pas à me lancer.

Merci,
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

La "forme" que devrait avoir cette classe c'est tout simplement :

public class Gen<U extends Individu> implements Genealogie<U> {
    ...
}

Il n'y a pas vraiment de piège...
0
drspinoza Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Ok ça commence à venir.
Dans la classe je met les mêmes méthodes mais qui retourne.

Maintenant on me dit la généalogie doit être réalisée au moyen d’un tableau liste d’individus « ArrayList<U> ».

le test de la génealogie est par exemple sous cette forme.
public void testDefinirParent1() {
	Gen<Personne> g = new Gen<Personne>();
	g.ajout(p1);
	g.ajout(p2);
	g.ajout(p3);
	g.definirParent1(p1, p3);
	ArrayList<Personne> e = new ArrayList<Personne>();
	e.add(p1);
	assertEquals(e, g.lesEnfants(p3, null));
	assertEquals(e, g.lesEnfants(null, p3));
}


Par exemple l'interface que je dois implanté pour ce test est :
public void definirParent1(int p);
	/**
	 * @param p, l'entier qui référence le premier parent
	 */


A quoi devrait ressembler le code que je met pour implanter cette methode et qu'elle fonctionne pour le test plus haut ?

Merci et désolé si ce que je dit est un peu embrouillé,
0