Java 1latri CH3
Java 1latri CH3
Java 1latri CH3
2
Plan
1 : Les classes,
2 : Les objets,
3 : Les méthodes,
4 : Les modificateurs d’accès.
3
1: Les classes
4
Le concept de classe
Pour utiliser une classe il faut en déclarer une instance (objet) de classe.
5
Déclaration d’une classe
6
Syntaxe de déclaration d’une classe
Exemple:
//Méthodes
public int somme (int a, int b){
x= a + b ; /**Corps de la classe**/
return (x);
}
}
8
2: Les objets
9
Rappel
Une classe peut être réutilisée pour instancier plusieurs objets.
Une instance de classe = Un Objet
public Class Personne { Objets ou instances
public int CIN; CIN: 06987456
Nom : YOUSFI
public String Nom;
Prenom : Ali
public String Prenom; Age : 24
public int Age; instanciation CIN: 78654349
Nom : JABALLAH
public Personne(int C, Sring N, String P, int A) { Prenom : Mohamed
CIN = C; Age : 26
Nom = N;
Perenom = P; CIN: 45678987
Age = A; Nom : JBALI
} Prenom : Ines
} Age : 22 10
Création d’un objet (instancier une classe)
Il est nécessaire de déclarer une variable ayant le type de l'objet désiré.
nom_de_classe nom_de_variable;
Exemple:
− Personne p1;
− Point P;
− Personne p1;
− p1 = new Personne(07897456, "ALOUI","Rania",21);
11
Création d’un objet (instancier une classe)
Il est possible de tout réunir en une seule déclaration.
Exemple:
Exemple:
Pour s'assurer que deux objets sont de la même classe, il faut utiliser la
méthode prédéfini getClass() de la classe Object.
14
Les références et la comparaison d’objets
Exemple 1:
if (obj1.equals(obj2))
Exemple 2:
if (obj1.getClass().equals(obj2.getClass())
15
Variable de classe
Une variable de classe est la même pour tous les objets de ta classe.
Elles ne sont définies qu'une seule fois quel que soit le nombre d'objets
instanciés de la classe.
Exemple:
16
Variable de classe
Exemple:
syntaxe:
18
La variable this
1. this est une variable qui sert à référencer dans une méthode l'instance de
l'objet en cours d'utilisation.
Exemple:
}
x = abs ;
y = ord ; = }
this.x = x ;
this.y = y ;
Exemple :
…..
JButton button1 = new JButton("Quitter");
….
button1.addActionListener(this); // Ecouteur d’évènement
….
20
L’opérateur instanceof
L'opérateur instanceof permet de déterminer la classe de l'objet qui lui
est passé en paramètre.
Exemple:
void testClasse(Object A) {
if (A instanceof MaClasse )
System.out.println(" A est une instance de la classe MaClasse ");
else
System.out.println(" A n'est pas un objet de la classe MaClasse ");
}
21
3: Les méthodes
22
Syntaxe de déclaration
Les méthodes sont des procédures et des fonctions qui implémentent les
traitements de la classe.
nom_objet.nom_méthode(parametre, ... ) ;
Exemple:
24
Surcharge de méthodes
On appelle surcharge le fait d’avoir plusieurs méthodes qui ont le même
nom au sein de la même classe.
Par contre, il est impossible d’avoir des types de retour différents pour les
mêmes paramètres.
25
Surcharge de méthodes
Exemple:
27
Constructeurs
Une classe peut posséder 0, un ou plusieurs constructeurs.
Exemple:
Les destructeurs sont aussi appelés finaliseurs (en anglais : finalizers), sont
automatiquement appelés par le ramasse-miettes.
Les accesseurs portent le nom de get (lecture) ou set (écriture) suivi du nom
de l'attribut concerné.
30
Accesseurs
Exemple:
//Accesseur en lecture
public int getValeur(){
return(valeur);
}
//Accesseur en écriture
public void setValeur(int val) {
valeur = val;
}
}
31
4: Les modificateurs d’accès
32
Les modificateur d’accès
Ils s'appliquent aux classes et/ou aux méthodes et/ou aux attributs.
Ils ne peuvent pas être utilisés pour qualifier des variables locales : seules les
variables d'instances et de classes peuvent en profiter.
33
Le modificateur public
Une variable, méthode ou classe déclarée public est visible par tout.
Le modificateur private
C'est le niveau de protection le plus fort.
Les variables et les méthodes déclarées private sont visibles qu'à l'intérieur
de la classe ou elles sont déclarées.
34
sans modificateur
Cette déclaration permet à une entité (classe, méthode ou variable) d'être
visible par toutes les classes du même package.
Le modificateur protected
Si une méthode ou une variable est déclarée protected , seules les
méthodes présentes dans le même package que cette classe ou ses sous
classes pourront y accéder.
35
Le modificateur abstract
Le modificateur abstract indique qu’une classe ou méthodes est abstraite.
Une classe déclarée abstract contient une ou des méthodes abstraites, qui
n'ont pas de définition explicite.
Le modificateur final
Une variable déclarée final est une constante.
Une classes déclarée final ne peut pas avoir de classes filles (sa redéfinition
grâce à l'héritage est interdite). 36
Le modificateur static
Attribut appartient simultanément à tous les objets de la classe (Variable
de classe).
Une méthode statique ne peut accéder qu'à des attributs et des méthodes
statiques.
37
Visibilité des classes
par défaut
(sans Oui Non Oui Non
modificateur )
38
Exemple
1. Ecrire une classe nommée Personne qui permet de gérer un individu. Sachant
qu’une personne est caractérisée par les informations suivantes : CIN, nom,
prénom, sexe, nombre de diplômes et email (un attribut optionnel).
39
Exemple
2. Ecrire une classe nommée TestPersonne qui contient le programme
principal et qui permet de :
Sachant que :
40
Exemple
2.3. afficher les informations des personnes P1 et P2.
2.4. afficher l’email de la personne P2.
2.5. Modifier l’email de la personne P2.
2.6. Afficher l’email de la personne P2 avec la mise à jour effectuée.
2.7. Comparer et afficher laquelle est plus qualifiée entre P1 et P2.
41
Classe Personne
42
Classe Personne
43
Classe Personne
44
Classe TestPersonne
45
Classe TestPersonne
46
Exécution
47
4. Rappel sur les méthodes
( Procédures et fonctions)
48
Définitions
Procédure:
Une procédure ne retourne rien au programme principal. Elle est de type void.
Fonction:
49
Procédures sans paramètre(s)
Exemple 1:
50
Procédures sans paramètre(s)
Exemple 2:
}
}
Appel dans le Personne P1= new Personne("ABIDI", "Ryma" ,1990);
programme
principal // Appel de la procédure void affiche()
P1.affiche();
51
Procédures avec paramètre(s)
Exemple 1:
int x =2;
int y = 5;
Appel dans le
programme principal // Appel de la procédure void somme(int a, int b)
somme(x,y);
}
}
Appel dans le Personne P1= new Personne("ABIDI", "Ryma" ,1990);
programme principal
// Appel de la procédure void affiche(Personne P)
affiche(P1);
53
Fonction sans paramètre(s)
int n= Clavier.lireInt();
return (n*n);
}
Appel dans le
programme principal // Appel de la fonction carre()
int x= carre();
54
Fonction avec paramètre(s)
55
Fin du chapitre 3
56