Corrigé du TD 4 : Encapsulation et listes chaînées

Encapsulation : public / private

Pour la classe Point, il est indiqué de mettre les attributs x et y en public. En effet c'est une classe dont la définition même implique ces attributs et dont l'utilisation sera extrêmement alourdie si l'on utilise des accesseurs (voir java.awt.Point).

La conception de la pile impose qu'on ne puisse accéder qu'à l'élément en haut de la pile. Les données doivent donc être private. De même, les variables tailleMax et taille n'ont pas (en général) à être connues ni modifiées par l'utilisateur (donc private). Par contre, les méthodes sont toutes nécessaires à l'utilisateur.

Listes chaînées

class Noeud
{
    public String valeur;
    public Noeud precedent=null;
    public Noeud suivant=null;
    public Noeud(String _valeur)
    {
        valeur=_valeur;
    }
}
 
class Liste
{
    private Noeud tete=null;
 
    public  Noeud debut(){return tete;}
    public void insererAvant(Noeud n,String valeur)
    {
        if(n==tete){insererEnTete(valeur);}
        else
        {
            Noeud nouveau=new Noeud(valeur);
            nouveau.precedent=n.precedent;
            nouveau.suivant=n;
            n.precedent=nouveau;
            if(nouveau.precedent!=null){nouveau.precedent.suivant=nouveau;}
        }
    }
    public void insererEnTete(String valeur)
    {
        Noeud nouveau=new Noeud(valeur);
        if(tete!=null){tete.precedent=nouveau;}
        nouveau.suivant=tete;
        tete=nouveau;
    }
    public void afficher()
    {
        for(Noeud n=debut();n!=null;n=n.suivant)
        {
            System.out.println(n.valeur);
        }
 
    }
}

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>