1. 1
Ministère de l’Enseignement Supérieur de la
Recherche Scientifique et de la technologie
*** * ***
Université de la Manouba
*** * ***
Ecole Nationale des Sciences de l’Informatique
Réalisé par : Ghazouani MahdiGhazouani MahdiGhazouani MahdiGhazouani Mahdi
Année universitaireAnnée universitaireAnnée universitaireAnnée universitaire : 2009/20: 2009/20: 2009/20: 2009/20010010010010
2. 2
SommaireSommaireSommaireSommaire
1) Les constructeurs / Surcharge des méthodes ………………3
2) Les références ………………………………………………………………………4
3) Les Setters et les Getters …………………………………………………4
4) Comparaison des objets ………………………………………………………4
5) Le mot clé static …………………………………………………………………5
6) L’opérateur this et son utilité ……………………………………………6
7) La méthode prédéfinie String toString()…………………………7
8) Une méthode simple pour la lecture de clavier ………………7
9) La gestion des exceptions ……………………………………………………8
3. 3
1. LES CONSTRUCTEURS / SURCHARGE DES METHODES
Chaque classe en Java possède nécessairement un constructeur qui porte
obligatoirement le même nom de la classe.
Exemple :
class Voiture
{ int matricule ;
String type ;
public Voiture ()
{
/* Le rôle de constructeur est toujours d’initialiser les
attributs de la classee */
matricule=0 ;
couleur=‘‘ ’’ ;
}
}
Attention : Une classe peut posséder plusieurs constructeurs (Surcharge).
La surcharge d’une méthode signifie qu’une méthode donnée peut posséder plusieurs
définitions dans une même classee, chacune de ces définitions se distinguant des
autres au travers de la liste de ses paramètres. (Le type ou le nombre de paramètres)
Exemple :
class Voiture
{ int matricule ;
String type ;
public Voiture ()
{
matricule=0 ;
couleur=‘‘ ’’ ;
}
public Voiture (int num, String col)
{
Matricule=num ;
couleur=col ;
}
}
4. 4
2. LES REFERENCES
Une référence en Java est similaire à un pointeur dans le langage C, mais les seules
opérations autorisées sont l’affectation d’une référence du même type et la
comparaison de deux références. (Attention : On ne peut pas incrémenter ou faire des
opérations arithmétiques sur les références comme pour les pointeurs en langage C).
3. LES SETTERS ET LES GETTERS
On ne peut pas accéder aux attributs d’une classe (éventuellement un objet instancié à
partir de cette classe) s’ils sont privés. Il est alors nécessaire d’implémenter les Getters
et les Setters de chaque attribut déclaré privé.
Exemple de Getter :
public int get_X ()
{ return x ;
}
Exemple de Setter :
public void set_X (int z)
{ x=z;
}
4. COMPARAISON DES OBJETS
Pour comparer 2 objets, il faut utiliser la méthode prédéfinie equals()
Exemple : if (c1.equals(c2))
{ System.Out.print(“c1 est égale à c2”);}
La méthode equals() compare les attributs de deux objets c1 et c2
Attention : Ne pas confondre la méthode equals() avec le symbole de comparaison ==
En effet, si on procède comme suit :
if (c1==c2)
{ System.Out.print(“c1 et c2 référencent le même objet en mémoire”);}
On est en train de comparer les références (c.à.d on teste si c1 et c2 pointent sur le
même objet en mémoire).
5. 5
5. LE MOT CLE STATIC
*) Le mot clé static pour les variables :
Déclarer une variable static signifie que ce membre n'est pas spécifique à un objet
mais à la classee, tous les objets de la classee partagent cette même variable.
Exemple concret :
class Calculette
{ private static int x ;
private int y ;
public Calculette()
{ x=0 ;
Y=0 ;
}
public void incrementer()
{ x+=1 ; //x=x+1 ;
}
}
class UsesCalculette
{
public static void main (String[] args)
{ Calculette c1=new Calculette();
C1.incrementer(); // x vaut 1
Calculette c2=new Calculette();
C2.incrementer(); // x vaut 2
// Si x n’est pas static on aura la valeur 1
/*Si on crée un autre objet c3 et on appelle incrementer(), on aura
la valeur 3 dans la variable x. */
}
}
6. 6
*) Le mot clé static pour les méthodes :
Signifie qu’on peut appeler la méthode sans instancier un objet de sa classe.
Exemple : float x=Math.sqrt(2.5)
/* Ici, la méthode sqrt() est définie static dans la classe Math, c’est pourquoi on a pu
l’utiliser sans créer un objet de type Math. */
6. L’OPERATEUR THIS ET SON UTILITE
L'operateur this sert à référencer l'objet en cours. Il peut servir à enlever l’ambiguïté
lorsqu’on a deux variables qui portent le même nom.
Exemple :
class Voiture
{ int matricule ;
String type ;
Public Voiture (int matricule, String type)
{ this.matricule=matricule ;
this.type=type ;
}
}
7. 7
7. LA MÉTHODE PRÉDÉFINIE STRING TOSTRING()
La méthode « String toString() » est très utile en Java. Elle retourne une chaine de
caractère représentant un objet : affichage de la valeur des propriétés par exemple.
Exemple :
class Voiture
{ int matricule ;
String type ;
public String toString()
{
return ‘‘La matricule est ’’ + matricule + ‘‘ Le type est ’’+type ;
}
}
class UsesVoiture
{ public static void main(String[] args)
{ Voiture v1=new Voiture();
System.Out.println(v1) ; //Appel implicite à toString()
}
}
8. UNE METHODE SIMPLE POUR LA LECTURE DE CLAVIER
Une méthode très simple pour la lecture consiste à :
• Créer un objet de la classe DataInputStream
• Appeler la méthode readline() à partir de l’objet crée
• Faire les conversions nécessaires selon vos besoins (car readline() retourne
toujours un String)
Exemple :
DataInputStream kb=new DataInputStream(System.in)
String n=kb.readline();
/* Si on a besoin de la lecture d’un entier, on a qu’à appliquer la conversion
suivante : int x= Integer.parseInt (n) ; */
8. 8
9. LA GESTION DES EXCEPTIONS
Si vous avez un bloc de code susceptible de générer une erreur, vous devez l’encadrer
avec les deux instructions
Try{} catch(Exception e){}
Exemple :
Version sans Try{} catch{}
class Calculette
{ private int x ;
Private int y ;
Public void division(int x,int y)
{
Float z=x/y ;
// Ici, le programme se plante si y est égale à 0.
}
}
Version avec Try{} catch{}
class Calculette
{ private int x ;
Private int y ;
Public void division(int x,int y)
{
try
{
float z=x/y ;
/* Si y égale à 0, le compilateur passe au bloc catch et affiche
l’erreur correspondante * /
}
catch(Exception e)
{ System.Out.println(e) ;
}
}
}