Programmation par les Objets en Java (TD7)
Les interfaces comme TADs, avec plusieurs implémentations.
Najib Tounsi
(Lien permanent: http://www.mescours.ma/Java/TD/tdJava7.html
(.pdf))
Soit un TAD pile de caractères, défini par l'interface:
/**
Interface Pile
*/
interface Pile {
final int MAX = 8;
public void empiler(char c);
// Empile un char
public char sommet();
// Retourne le sommet de la pile
public void depiler();
// Retire le sommet de la pile
public boolean vide();
// Teste si la pile est vide
public boolean pleine();
// Teste si la pile est pleine
};
On peut réaliser cette pile par une chaîne de caractères ou un tableau de caractères etc.
On peut utiliser StringBuilder pour mémoriser les
caractères d'une pile. Déclarer par exemple :
StringBuilder s = new StringBuilder(MAX);
On peut rajouter un caractère c à une chaîne s à l'endroit i par :
s.insert (i, c);
On peut consulter le i-ème
caractère d'une chaîne s par :
c = s.charAt (i);
Exercices :
MaPile qui
implémente une pile avec StringBuilder. #'.On peut utiliser un tableau Java pour mémoriser les caractères d'une pile
(c.f. TD2). Déclarer par exemple:
char[] t = new char[MAX];
L'accès au éléments du tableau se fait normalement par indice, e.g.
t[i].
Exercice :
TaPile qui implémente une pile avec un
tableau cette fois-ci. (c.f. TD2).
That's all folks