Académique Documents
Professionnel Documents
Culture Documents
2
Objectifs du cours
3
Prérequis
Notions d’algorithmique,
Notions de base de la programmation.
Evaluation
70 % : Examen final,
20% : un ou deux contrôles continus,
10% : note de travaux pratiques .
Plan du cours
Chapitre 1 : Introduction à la Programmation Orientée Objet
Chapitre 2 : La syntaxe du langage Java
Chapitre 3 : Les classes et les objets
Chapitre 4 : L’héritage
Chapitre 5 : Les classes abstraites et les interfaces
Chapitre 6 : Les exceptions
Chapitre 7 : Les flux (entrées/sorties)
Chapitre 8 : Les threads
Chapitre 9 : Les interfaces graphiques (swing)
5
Chapitre 1: Introduction à la
Programmation Orientée Objet
6
Logiciel
Définition:
Un logiciel est un ensemble composé d'un ou plusieurs programmes,
ainsi que les fichiers nécessaires pour les rendre opérationnels.
7
Cycle de vie d’un logiciel
Le cycle de vie d'un logiciel peut être décomposé en trois grandes phases :
• une phase d’analyse, étude de faisabilité, cahier des charges,
analyse et spécification des besoins.
• une phase de développement qui consiste à réaliser le logiciel,
• une phase de maintenance qui consiste à corriger et à faire évoluer
le logiciel.
8
Cycle de vie d’un logiciel
Analyse
Pré-analyse
Analyse
Développement
Conception
Programmation Maintenance
Test
Maintenance
9
Les facteurs de qualité d’un logiciel
10
Qu’est ce que la Système informatique?
Définition:
Un système informatique est un ensemble d'équipements destiné au
traitement automatique de l'information.
11
Problématique de la programmation
12
Qu’est ce que la Programmation procédurale?
Principe :
13
Qu’est ce que la Programmation procédurale?
14
Qu’est ce que la Programmation procédurale?
15
Qu’est ce que la Programmation Orientée Objet ?
Principe:
18
L’approche Orientée Objet
L’identité d’un objet permet de distinguer les objets les uns par rapport
aux autres.
L’état d’un objet correspond aux valeurs de tous les attributs à un instant
donné.
Le comportement d’un objet se défini par l’ensemble de ces opérations
(traitements).
Objet
Attribut 1, attribut 2
Attribut 3…
Méthode 1
Méthode 2…
19
L’approche Orientée Objet
Exemple:
Structure d’une classe
public Class Personne {
int CIN;
String Nom; Attribut(s)
String Prenom;
int Age;
Void afficherInfo() {…}; Méthode(s)
}
20
L’approche Orientée Objet
21
Vue d’ensemble sur la POO
1. L’objet
2. Classe
3. Encapsulation
4. Polymorphisme
5. Héritage
22
1. L’objet
Définition:
Définitions:
24
2. Classe
Définition:
Une classe est un modèle de définition pour des objets ayant:
Nom de la classe
Attributs
Méthodes
25
Notation UML
2. Classe
Une classe peut être réutilisée pour instancier plusieurs objets.
Une instance de classe = Un Objet.
Objets ou instances
CIN: 06987456
Nom : YOUSFI
public Class Personne {
Prenom : Ali
int CIN; Age : 24
String Nom; CIN: 78654349
instanciation
String Prenom; Nom : JABALLAH
Prenom : Mohamed
int Age; Age : 26
Void afficherInfo() {…};
CIN: 45678987
} Nom : BALTI
Prenom : Ines
Age : 22 26
2. Classe
Instants particulièrement importants:
Construction Destruction
(constructeur) (destructeur)
27
2. Classe
28
3. Encapsulation
Définition:
Le terme encapsulation désigne le principe consistant à cacher
l'information contenue dans un objet et de ne proposer que des
méthodes de modification/accès à ces attributs [1].
29
3. Encapsulation
L'encapsulation nécessite la spécification de parties publices et privées
de l'objets:
30
3. Encapsulation
Avantages de l'encapsulation:
Une classe peut avoir un contrôle total sur ce qui est stocké dans
ses champs.
31
4. Polymorphisme
Polymorphisme = poly + morphisme
plusieurs forme
Définition:
32
4. Polymorphisme
Surcharge : Dans une classe on peut avoir plusieurs fonctions qui portent
le même nom mais qui ont des implantations différentes :
33
4. Polymorphisme
Exemple 1:
Si l'on considère une classe Addition possédant une méthode nommée
Somme, on peut spécifier un comportement différent selon qu'elle est
invoquée (appelée) avec deux argument de type entier ou deux arguments
de type flottant :
− Somme (2, 5)
− Somme (2.3, 5.4)
34
4. Polymorphisme
Exemple 2:
Si l'on considère deux types d'objets voiture et moto possédant tous les
deux une méthode démarrer.
Cette méthode est implémentée différemment selon le type de véhicule.
Véhicule
Voiture Moto
35
5. Héritage
Utilisation de l’héritage:
Personne
Spécialisation Généralisation
Etudiant Enseignant
36
5. Héritage
Utilisation de l’héritage:
37
5. Héritage
La sous classe ou classe fille (ex. Etudiant) possède des attributs et des
méthodes définis dans la superclasse ou classe mère (ex. Personne).
Exemple : public class Etudiant extends Personne {
int noEtudiant;
public class Personne {
String nom; public Etudiant(String n, String p, int numE) {
nom = n;
String prenom;
prenom = p;
noEtudiant = numE;
public void afficherInfos()
}
{System.out.println(nom+
public void afficherInfos()
" "+prenom);}
{System.out.println(noEtudiant + " "+ nom
}
+ " "+ prenom);}
} 38
Fin du chapitre 1
39