UFR de Mathématiques et d'Informatique
IUP 1, DEUG 2, 2002/2003
Programmation orientée objet
Travaux dirigés
Séance 11, mai






Colliers de booléens







Vous souhaitez réaliser pour votre petit ami(e) un collier de booléens. Vous écrivez pour cela une classe CollierDeBooleens.




1 Les booléens, version objets

Tout d'abord, vous implantez les booléens, en version objet. La classe Booleen est la suivante :




public abstract class Booleen {
  public abstract Booleen et       (Booleen b) ;
  public abstract Booleen ou       (Booleen b) ;
  public abstract Booleen non      ()          ;
  public abstract Booleen oux      (Booleen b) ;
  public abstract Booleen implique (Booleen b) ;
  public abstract String  toString ()          ;
}



Elle a deux sous-classes : Vrai et Faux. La classe Vrai fournit l'attribut de classe VRAI, et la classe Faux fournit l'attribut de classe FAUX. L'exercice consiste à écrire ces sous-classes, de façon à ce que le test suivant fonctionne convenablement :




public class TestBooleen {

  public static void main (String args []) {

    Booleen F = Faux.FAUX ;
    Booleen V = Vrai.VRAI ;

    Booleen unBooleen = ((F.ou(V)).et(F)).non() ;  // non[(F ou V) et F]
    System.out.println(unBooleen) ;
        // devrait afficher : Vrai

    System.out.println("F => V : " + F.implique(V)) ;
    System.out.println("V => F : " + V.implique(F)) ;
    System.out.println("F oux V : " + F.oux(V)) ;
    System.out.println("F oux F : " + F.oux(F)) ;
    System.out.println("V oux V : " + V.oux(V)) ;

    Booleen A = V ;
    Booleen B = F ;
    Booleen resultat = (A.et(B)).implique(B.et(A.oux(B))) ;
    System.out.println(resultat) ;
  }
}




Pour indication, on donne ce à quoi devrait ressembler le début de la classe Vrai :

public class Vrai extends Booleen {

  private Vrai () {}

  public final static Booleen VRAI = new Vrai () ;

  public Booleen et(Booleen b) {
    return b ;
  }

  ...
}

2 Les files non bornées

Vous souhaitez à présent implanter la classe File des files non bornées, en utilisant la classe Liste écrite en TP. La classe File doit fournir les méthodes suivantes :








On rappelle les méthodes de la classe Liste :





3 Les colliers de booléens

Vous pouvez enfin réaliser vos colliers de booléens. Vous écrivez la classe CollierDeBooleens, avec les méthodes publiques suivantes :






Vous utilisez, pour l'implantation, une file non bornée :
  private File leCollier ;

This document was translated from LATEX by HEVEA.