import java.io.*;
/**
  * 'entier'  Classe publique  nécessaire pour 'swap2.java'
  * @author  (c) ~/2a  env.   - H. Nguyen-Phu
  * @version  1.35  2007.10.01
  * @since     1.0     25.11.2001
  * @see        swap2
  */
public class entier   {
		/**   'data':  champ privé unique ici !    */
	private int data;

		/**   Constructeur public pour être accessible dans un autre package   */	
	public entier() { data =  Integer.MAX_VALUE;  }   // constructeur  sans arguments
		/**  Second constr. public à un arg. 
 		  * @param data  Pour éviter la confusion, l'emploi de 'this' est nécessaire !  */
    public entier(int data) { this.data = data; }  
		/**  3ième  constr. public à un arg. par clonage
 		  * @param  donnee  de type 'entier' pour  copier  effectivement   */
    public entier(entier  donnee) { data =  donnee.data; }  

		/**  'copier(...)': Procédure modificatrice unique ici ! 
		 * @param x  Le contenu effectif de x sera BIEN copié dans l'objet courant 'this' 		 */
    public void copier(entier x) { data = x.data; }   //  recopie  x  dans  'data'
		
		/**  'getData()'  Premier acceseur
		 * @return 	Retourne un 'int'  i.e. type utilisé pour le champ 'data'  		 */
	public int getData() { return data; } // accesseur au champ prive'
		
		/**  'toString()' Second accesseur <==>  Surcharge de la même méthode de 'Object'
		 * @return	Retourne une chaîne 'String'  		 */			
	public String toString()  {	return (new Integer(data)).toString(); 	}
		/**  Procédure 'adresse()': 3 ième accesseur 
		 * Pas de paramètre retournée - Affiche seulement l'adresse de l'objet courant 		 */
	public void adresse()  	{ System.out.println("Adresse = "+ this); }
}

		
