programmation orientée
objet Java
OUEDRAOGO Oumarou
Chap 1: Bases de la programmation orientée objet
Conseils pour mieux reussir
En TD c’est VOUS qui travaillez =⇒ Pas de correction `a copier/coller =⇒
analyse/amelioration de VOTRE solution
▪ N’apprenez pas par cœur, ça ne sert a rien !)o
▪ Posez des questions (oui, vous pouvez toujours le faire)
▪ Posez des questions en TD
Contrôle des connaissances
❖ Contrôle Continu par binôme (un muni projet)
objectif : mettre en pratique les notions de POO
❑ Examen
▪ Durée : à décider
▪ questions de cours + exercices
▪ documents : non autorisés
❑ Note finale : 50% muni projet et 50% examen
Pourquoi Java dans ce cours ?
Simple a prendre en main
❑ l’API officielle très riche et assez fiable,
❑ langage compile et robuste :
❖ langage fortement type avec un mécanisme puissant de gestion
d’exceptions
❖ gestion automatique de la mémoire :
utilisation implicite des pointeurs (références)
framework de tests unitaires complet : JUnit
un des langages orientées objets les plus répandus au monde;
Attention : ce cours aurait pu tres bien avoir un autre langage orientée objet
comme support (C++, C#, Python, etc.).
JAVA
Approche fonctionnelle
• Approche traditionnelle utilisant des procédures et des fonctions
• On identifie les fonctions nécessaires `a l’obtention du résultat
• Les grands programmes sont décomposes en sous programmes
− hiérarchie de fonctions et sous-fonctions
− approche descendante (Top-Down)
Approche orientée objet
[Link] identifie les entités (objets) du système
2. Chaque objet possède un ensemble de compétences (fonctions)
3. On cherche `a faire collaborer ces objets pour qu’ils accomplissent la tache
voulue :
• les objets interagissent en s’envoyant des messages (appels de fonctions)
• un message dit quoi faire, mais non comment : chaque objet est responsable
Objets - première immersion
Un objet en informatique définit une représentation simplifiée , une abstraction
d’une entité du monde réel
But recherché :
mettre en avant les caractéristiques essentielles
dissimuler les détails
Exemple d’objet : Etudiant (ou abstraction Etudiant)
Description : n° etudiant, nom, prenom, sexe, annee incription, notes en cours,
absence, ….
compétences (ou services): apprendre, s’inscrire, passer les examens
Définition (une autre) Objets - première immersion
Objet = identité + état + comportement
Exemple d’objet Voiture :
• Identité : numéro d’identification ou code-barres etc.
• Etat: marque, modelé, couleur, vitesse...
• Services rendus par l’objet : Démarrer, Arrêter, Accélérer, Freiner, Climatiser, ...
Lorsqu’on utilise objet, on n’a pas a connaıtre/comprendre son fonctionnement
interne :
• a priori on ne connaıt pas les composantes d’une voiture...
• a priori on ne connaıt pas les mécanismes internes de la voiture (comment elle
accélère, la façon dont elle freine, etc)
• mais on peut utiliser la voiture en lui demandant ses services !
I. Une classe
▪ définition d'un type d'objet
▪ Classe : type abstrait caractérisé par des propriétés (membres) :
–Attributs : données,
–Opérations : (méthodes) traitements appliqués sur les données.
Une classe
▪ définition d'un type d'objet
Une classe
▪ Attribut = nom + type,
●Visibilité :
–Public (+) :
●accès possible par n'importe qui,
–Private (-) :
●accès de l'intérieur de l'objet,
Une classe
▪ Protected (#) :
▪ accès possible pour un objet d'une sous-classe,
–Package (~) : accès pour les objets appartenant au même package
Une classe
▪ Attribut dérivé (/) :
–Valeur calculée à partir d'autres attributs,
●Contraintes ({...}):
–Régles nécessaires pour garantir l'intégrité de l'attribut
Une classe
▪ Attribut de classe (souligné),
●Un attribut a un nom unique dans une classe,
●Représentation :
visibilité/nom: type = valeur par défaut {contraintes}
Construction des objets
Dans un programme Java, toute variable doit être initialisée avant d’être
utilisée.
Pour les objets on parle de construction.
II. Les constructeurs
II. Les constructeurs
II. vocabulaire
Pour une classe:
❑ attribut=champs=variable globale
❑ fonction=procédure=méthode
❑ construction=instanciation=initialisation ”propre”
Lorsqu’un objet o d’une classe A est construit, on dit
que o est une instance de la classe A