Comment structurer un container pour ajouter des méthodes dynamiques à une classe récursive ?
Liste<E>) avec un unique champ content, null signifiant liste videCréer la classe publique qui enveloppe la structure récursive et permet les méthodes dynamiques.
Définir la classe container Liste<E> pour une liste d'entiers, en montrant les deux constructeurs publics.
Créer la classe publique qui enveloppe la structure récursive et permet les méthodes dynamiques.
Le container Liste<E> contient un seul champ ListContent<E> content ; quand content == null, le container représente la liste vide — et this n'est jamais null dans le container.
class Liste<E> avec un seul champ ListContent<E> content;.Liste() { content = null; }.Liste(E i, Liste<E> l) { content = new ListContent<E>(i, l.content); }.Définir la classe container Liste<E> pour une liste d'entiers, en montrant les deux constructeurs publics.
class Liste<E> avec un seul champ ListContent<E> content;.Déclarer la classe avec son unique champ content :
class Liste<E> {
ListContent<E> content;
// content == null <=> liste vide
}
Liste() { content = null; }.Ajouter le constructeur par défaut pour la liste vide :
class Liste<E> {
ListContent<E> content;
Liste() {
content = null; // liste vide
}
}
Liste(E i, Liste<E> l) { content = new ListContent<E>(i, l.content); }.Ajouter le constructeur pour construire une liste non vide à partir d'un élément et d'une liste existante :
class Liste<E> {
ListContent<E> content;
Liste() { content = null; }
Liste(E i, Liste<E> l) {
content = new ListContent<E>(i, l.content);
}
}
La classe Liste<E> est le container public ; elle délègue le stockage à ListContent<E> et représente la liste vide par content == null.
Construire une liste [1, 2, 3] en utilisant les constructeurs du container Liste<Integer>.
Montrer pourquoi le container Liste<E> résout le problème de this == null en comparant les deux approches.
Crée ton compte pour accéder à la fiche et aux exercices