Académique Documents
Professionnel Documents
Culture Documents
10 janvier TP TP
17 janvier TP TP
23 janvier TD TP
24 janvier TD TP
30 janvier TD TP
6 février TP TP
7 février EXAMEN TP
Maintenance
Langages procéduraux et
fonctionnels
Un programme est composé de plusieurs
procédures (ou fonctions) :
qui effectuent un traitement sur des Données
données (procédure)
qui retournent une valeur après leur
invocation (fonction) Traitement 1
T
Les données d'un objet sont appelés ses T
T T
Exemples de langages orientés-objet :
SmallTalk, C++, Java, …
UML & Java
Unified Modeling Language (UML) :
Analyse notation standard pour l'analyse et la
conception
construite par l'Object Management
Conception Group
Première version standard en 1997
Implémentation Java :
pas un standard mais un langage très
largement utilisé
Tests développé par SUN microsystems en
1995
Maintenance dernière version stable : JDK 1.5.0
Objet
Approche procédurale :
"Que doit faire mon programme ?"
Approche orientée-objet :
"De quoi doit être composé mon programme ?"
Cette composition est conséquence d'un choix de modélisation
fait pendant la conception
Germinal
E. Zola
Le Monde Alice Dupont Anne Durand
Directrice
Lectrice
Arsène Deschamps
Le seigneur des anneaux Michel Martin Lecteur
J.R.R.Tolkien
Bibliothécaire
Classe
Des objets similaires peuvent être informatiquement décrits par
une même abstraction : une classe
même structure de données et méthodes de traitement
valeurs différentes pour chaque objet Classe Lecteur
Classe Livre Classe Employé -nom, prénom
-titre, auteur Classe Journal -nom, prénom, statut
-titre
Germinal
E. Zola
Le Monde Alice Dupont Anne Durand
Directrice
Lectrice
Arsène Deschamps
Le seigneur des anneaux Michel Martin Lecteur
J.R.R.Tolkien
Bibliothécaire
Contenu d'une classe
Une classe est composée de plusieurs membres dont chacun est soit :
un attribut : variable typée
une méthode (ou opération) : ensemble d'instructions de
traitement
class CompteBancaire {
String proprietaire;
Attributs double solde;
double getSolde() {
return solde;
}
Méthodes
void credite(double val) {
solde = solde + val;
}
}
Encapsulation
L'encapsulation est la pratique consistant à regrouper des
attributs au sein d'une même classe.
void setTitre(String t) {
titre = t;
}
String getTitre() {
return titre; Méthodes
}
Livre(String t) {
titre = t;
emprunteur = null; Constructeur
}
void setTitre(String t) {
titre = t;}
String getTitre() {
return titre;}
Propagation Interception
public String initialesAuteur(Livre l) public String initialesAuteur(Livre l) {
throws IndexOutOfBoundsException { String titre, initiales;
String titre, initiales; try {
titre = l.getTitre(); titre = l.getTitre();
initiales = titre.substring(0,2); initiales = titre.substring(0,2);
return initiales; return initiales;
} } catch (IndexOutOfBoundsException ex) {
return new String("???");
}
}
Exemple :
if ( emprunteur.getStatut() = = "employe") {
unLivre.setDateRetour(30);
} else {
unLivre.setDateRetour(15);
}
Compléments de syntaxe
Instruction itérative
Exemple :
Exemple :