Académique Documents
Professionnel Documents
Culture Documents
• Les objets communiquent entre eux par des messages. Un objet peut
recevoir un message qui déclenche :
Les objets sont des représentations dynamiques du modèle défini pour eux au travers de
la classe (instanciation)
Nom de la
classe
Attributs
Méthodes
- : private
Visibilité + : public
# : protected
Codage de la classe Voiture
public class Voiture { Nom de la
private int id; classe
private String marque; public float getVitesse() {
private float vitesse; return vitesse;
private float puissance; }
Attributs
private boolean etat; public void setVitesse(float vitesse) {
this.vitesse = vitesse;
public Voiture(int id, String marque, float vitesse, }
float puissance, boolean etat){ public float getPuissance() {
this.id=id; return puissance;
this.marque=marque; }
this.vitesse=vitesse; public void setPuissance(float puissance) {
this.puissance=puissance Méthodes this.puissance = puissance;
this.etat=etat; }
} public boolean isEtat() {
public int getId() { return etat;
return id; }
} public void setEtat(boolean etat) {
public String getMarque() { this.etat = etat;
return marque; }
} }
public void setMarque(String marque) {
this.marque = marque; Visibilité
}
Définition d’un objet
Voiture
Représentation
explicite
de la classe Relation
<<instance of>> d'instanciation
maClio
Nom de l'objet ou
-id = 1 Valeurs des
de l'instance
-marque = RENAUT attributs qui
-vitesse = 260 caractérisent l'état
-puissance = 6 de l'objet maclio
-etat = true
Déclaration des classes
Syntaxe générale
Rôle
final Les classes déclarées final ne peuvent pas avoir de classes filles.
9
L’encapsulation
• Un attribut ou une méthode sont dits privés si leur utilisation est interdite en
dehors de la classe.
• Un attribut ou une méthode sont dits publics si leur utilisation est autorisée
en dehors de la classe
Dans le programme
Attributs variables
ENCAPSULATION
Le principe d'encapsulation est de déclarer les attributs de façon privée et
les méthodes de façon publique
Encapsulation des données
toUpper Case(): une méthode qui retourne une chaîne égale à la chaîne convertie en
majuscules.
Construction des objets
Les objets sont des instances de classe. (i.e. des exemplaires de classe).
En Java, il ne suffit pas de nommer les variables objets, il faut les construire
explicitement et les initialiser.
Syntaxe
1- déclarer le nom d'un objet de la classe sans définir l'objet lui-même
nomClasse nomObjet;
2- construire l'objet
nomObjet = new constructeurClasse( [liste de paramètres] ) ;
Exemple
Voiture maVoiture ;
maVoiture = new Voiture() ;
Ou bien
Voiture maVoiture = new Voiture() ;
Les constructeurs d’instances
Pour accéder aux données d’un objet on utilise une notation pointée
identificationObjet.nomAttribut
Les objets ne sont pas des éléments statiques et leur durée de vie ne
correspond pas forcément à la durée d'exécution du programme.
La durée de vie d'un objet passe par trois étapes:
1- Création de l’objet
• Utilisation d’un Constructeur
• L’objet est créé en mémoire et les attributs de l’objet sont initialisés
2- Utilisation de l’objet
• Utilisation des Méthodes et des Attributs (non recommandé)
• Les attributs de l’objet peuvent être modifiés
• Les attributs (ou leurs dérivés) peuvent être consultés
L’utilisation d’un objet non construit provoque une
exception de type NullPointerException
Affecter un objet
• « a = b » signifie a devient identique à b et toute modification de a entraîne
celle de b
• a et b contiennent la même référence et pointent donc tous les deux sur le
même objet : les modifications faites à partir d'une des variables modifient
l'objet.
Les références et la comparaison d’objets
La classe Object est la super classe de toutes les classes Java : toutes ses méthodes
(toString, equals …) sont donc héritées par toutes les classes.
Une variable de classe est une variable partagée par tous les objets de la
classe (exemple le nombre de voiture)
Utilisation
Elles sont définies comme les méthodes d'instances, mais avec le mot clé static
public static double vitesseMaxToleree() {
return vitesseMaxAutorisee*1.10;
}
Pour y accéder, il faut utiliser non pas un identificateur d'objet mais le nom de la
classe (idem variables de classe)
Voiture.vitesseMaxToleree()
Méthodes de classe (Méthode statique)
• Nommage
Les noms utilisés doivent être explicites, c’est-à-dire le nom doit
expliquer le contenu de l’objet, le rôle de la méthode…
• Package/Paquetage
Les noms des paquetage doivent être en minuscules.
//Correct //Incorrect
package com.monprojet.monpaquet; package Com.MonProjet.MonPaquet;
Les conventions de codage
}
}
Les conventions de codage
//Correct
Voiture prochaineVoiture = voitures.get (this.id + 1)
float laTaille = 145.5;
//Incorrect
Voiture a = voitures.get (this.id + 1)
float la_Taille = 145.5;
43
Les conventions de codage
Constantes
Les noms des constantes doivent être écrits entièrement en majuscules. Le
séparateur de mot est le caractère de soulignement (underscore).
//Correct //Incorrect
final int LOG_CONSOLE = 1; final int LOGCONSOLE = 1;
final int console_Log = 1;
final int Console_LOG = 1;
44
Les conventions de codage
Déclaration
//Correct //Incorrect
int niveau = 10; int niveau;
void maMethode( ) { niveau = 10;
void maMethode ( ) {
45
Les conventions de codage
• Instructions
Une ligne de code ne peut contenir qu’une seule instruction.
//Correct //Incorrect
count++; count++; i--; println(’’Bonjour ’’);
i--;
println (’’Bonjour’’);
Les conventions de codage
Conventions de noms
• CeciEstUneClasse
• celaEstUneMethode(…)
• jeSuisUneVariable
• jeSuisUnAttribut
• jeSuisUnParametre
• JE_SUIS_UNE_CONSTANTE