Documente Academic
Documente Profesional
Documente Cultură
15/10/2014
I Les objets, la programmation oriente objet, les langages orients objet. __________________ 2
1.1
1.2
1.3
Page 1 sur 14
BTS SIO 1 / SI 4
15/10/2014
Les mthodes de la classe dun objet correspondent aux messages quon peut lui envoyer : quand un
objet reoit un message, il excute la mthode correspondante.
Exemples :
o
o
o
o
o
objet1.decrisToi();
employe.setSalaire(20000);
voiture.demarre();
voiture.vaAVitesse(50) ;
monProduit.afficher() ;
Page 2 sur 14
BTS SIO 1 / SI 4
15/10/2014
Page 3 sur 14
BTS SIO 1 / SI 4
15/10/2014
VARIABLES
DINSTANCE
CONSTRUCTEUR
//Constructeur
public Livre(String unTitre, String unAuteur)
{
titre = unTitre;
auteur = unAuteur;
}
ACCESSEURS
/Accesseur
public String getAuteur()
{
return auteur;
}
//Modificateur
public void setNbPages(Int32 nb)
{
nbPages = nb;
}
}
Une classe permet dencapsuler les objets : les membres public sont vus de lextrieur mais les
membres private sont cachs.
Page 4 sur 14
BTS SIO 1 / SI 4
15/10/2014
Un constructeur :
-
Page 5 sur 14
BTS SIO 1 / SI 4
15/10/2014
IV Les mthodes.
4.1 Les accesseurs.
Deux types de mthodes servent donner accs aux variables depuis lextrieur de la classe :
- les accesseurs en lecture pour lire les valeurs des variables ; accesseur en lecture est souvent
abrg en accesseur ; getter en anglais.
- les accesseurs en criture, ou modificateurs, ou mutateurs, pour modifier leur valeur ; setter en anglais
Page 6 sur 14
BTS SIO 1 / SI 4
15/10/2014
EXEMPLE de METHODES.
public class Employe
{
..
/Accesseur
public Double getSalaire()
{
return salaire;
}
//Modificateur
public void setSalaire(Double unSalaire)
{
Salaire=unSalaire;
}
//Mthodes
public Double calculerSalaire(Int32 indice, Double prime)
{
}
.
}
4.3 La surcharge.
La surcharge, cest ajouter une mthode qui a le mme nom mais pas la mme signature quune autre
mthode :
Exemple :
public Double calculerSalaire(Int32 indice)
{
}
public Double calculerSalaire(Int32 indice, Double prime)
{
Page 7 sur 14
BTS SIO 1 / SI 4
15/10/2014
Note importante :
Il est interdit de surcharger une mthode en changeant seulement le type de retour ; autrement dit, on ne peut
diffrencier deux mthodes par leur type retour.
Par exemple, il est interdit davoir ces 2 mthodes dans une classe :
public int calculerSalaire(Int32 indice, Double prime)
{
}
public Double calculerSalaire(Int32 indice, Double prime)
{
V les variables.
5.1 Variables dinstances vs variables locales.
On distingue les variables dinstance et les variables locales.
Les variables dinstances :
-
Page 8 sur 14
BTS SIO 1 / SI 4
15/10/2014
Page 9 sur 14
BTS SIO 1 / SI 4
15/10/2014
Page 10 sur 14
BTS SIO 1 / SI 4
15/10/2014
Page 11 sur 14
BTS SIO 1 / SI 4
15/10/2014
Ltat dun objet (les variables dinstance) doit tre private. Si on veut autoriser la lecture dune
variable depuis lextrieur de la classe, on lui associe un accesseur, avec le niveau daccessibilit que
lon veut. Si on veut autoriser la modification dune variable, on lui associe un modificateur, qui
permet la modification tout en contrlant la validit de la modification.
VI Le mot-cl This .
Le mot-cl this est utilis surtout dans 2 occasions :
- pour distinguer une variable dinstance et un paramtre qui ont le mme nom : exemple :
public void setSalaire(double salaire)
{
this.salaire = salaire;
}
un objet passe une rfrence de lui-mme un autre objet :
public class Document {
...
public void imprimer(Imprimante imprimante) {
imprimante.ajouterRequete(this);
- }
- ...
public class Imprimante {
...
public void ajouterRequete(Document doc) {
// Ajoute le fichier associ au document
// dans la file dattente dimpression
fileAttente.ajouter(doc.getFichier());
...
VII Mthodes et variables de classes.
7.1 Variable de classe.
Certaines variables sont partages par toutes les instances dune classe. Ce sont les variables de classe
(modificateur static)
Si une variable de classe est initialise dans sa dclaration, cette initialisation est excute une seule fois quand
la classe est charge en mmoire.
Page 12 sur 14
BTS SIO 1 / SI 4
15/10/2014
Exemple :
public class Employe {
private String nom, prenom;
private double salaire;
private static int nbEmployes = 0;
// Constructeur
public Employe(String n, String p) {
nom = n;
prenom = p;
nbEmployes++;
}
...
}
7.2 Mthodes de classe.
Une mthode de classe (modificateur static en C#) excute une action indpendante dune instance
particulire de la classe.
Une mthode de classe peut tre considre comme un message envoy une classe.
Exemple :
public static int getNbEmployes() {
return nbEmployes;
}
Depuis une autre classe, on la prfixe par le nom de la classe :
int n = Employe.getNbEmploye();
Depuis sa classe, le nom de la mthode suffit.
Une mthode de classe ne peut avoir la mme signature quune mthode dinstance.
7.3 Classe static.
Elle sert crer un module de code. Cest un utilitaire .
IMPORTANT : on ne peut pas crer dinstance dune classe static.
Page 13 sur 14
BTS SIO 1 / SI 4
15/10/2014
Page 14 sur 14