En partant de
Suppression.java (qui est une variante de DiagrammeGOF2.java),
conserver la méthode
print() et rajouter une une opération delete()
delete() doit supprimer dans la liste des enfants de son parent TOUTES les occurences de lui-même.
Par exemple, si on a :
parent
enfant1
enfant2
enfant3
enfant1
Et qu'on fait enfant1.delete(), on obtient :
parent
enfant2
enfant3
Donc si dans Suppression.java, vous remplacez dans main()
root.print();
par
System.out.println("=== Avant suppression ===");
root.print();
System.out.println("=== Après suppression de node1_2 ===");
node1_2.delete();
root.print();
vous obtiendrez :
=== Avant suppression ===
root
composite 1.1
leaf 1.1.1
leaf 1.1.2
composite 1.2
leaf 1.2.1
composite 1.2.2
leaf 1.2.2.1
leaf 1.2.2.2
leaf 1.2.1
composite 1.2
leaf 1.2.1
composite 1.2.2
leaf 1.2.2.1
leaf 1.2.2.2
leaf 1.2.1
=== Après suppression de node1_2 ===
root
composite 1.1
leaf 1.1.1
leaf 1.1.2