Vous êtes sur la page 1sur 19

Programmation Orientée Objet

(JAVA)

2 Année LMD Informatique Hammache A.


(2019-2020) arezki20002002@yahoo.fr

A.Hammache 1
Plan du Cours
Introduction
Concepts de l’Orienté Objet
Syntaxe de Java
Objets et classes
Héritage et polymorphisme
Classes abstraites et interfaces
Les exceptions
Les collections d’objets
Les interfaces graphiques
A.Hammache 2
Introduction

A.Hammache 3
Quelques notions
 Algorithme: méthode pour résoudre un problème. Pour un problème
donné, il peut y avoir plusieurs algorithmes ou aucun !

 Programme: est le codage en langage de programmation de


l’algorithme, ce programme est lisible par l’ordinateur.

 Le langage de programmation: est l'intermédiaire entre l'humain et la


machine, il permet d'écrire dans un langage proche de la machine
mais intelligible par l'humain les opérations que l'ordinateur doit
effectuer. Quelques uns des plus connus: C, C++, Pascal, Java, python.

 Langage machine: est une succession de 0 et de 1.

 Compilateur (interpréteur): est un programme qui permet de


transformer un programme (fichier source) écrit dans un langage de
programmation en un programme en langage machine (fichier
exécutable).
A.Hammache 4
D’un problème à une solution informatique
Homme Machine

Fichier source

Programme
Problème Algorithme
… (Langage)
Résolution d’équation 2nd Calculer delta …
delta=a*a-4*b*c
degrés? Si delta >0 alors
if (delta>0)
…. {

Compilateur
/
Interpréteur

Données Exécutable
5 4 1 (a,b,c)
Code machine

00011001
Résultats 10011001
??? …

A.Hammache 5
Niveaux des langages de programmation

Langage Humain Haut niveau :


proche de
(Kabyle, Français, Arabe) l’homme,
vocabulaire et
syntaxe plus riches

JAVA, C++, (Objets)

C , Pascal (fonctions, procédures) Bas niveau : proche


de la machine,
instructions
Assembleur (mnémonique : add) élémentaires

Langage Machine (01111001..)

A.Hammache 6
Les familles de langages de programmation

On distingue habituellement deux grandes familles


de langages de programmation:
1. Les langages orientés procédures: (ex :pascal, le
C). Algorithmes (fonctions, procédures) +
Données = Programme.
2. Les langages orientés objet: (ex : C++, JAVA)
Méthodes + Données = Objet (Classe).

A.Hammache 7
Langages procéduraux

Un programme est composé de Données


plusieurs procédures (ou fonctions):
 Qui effectuent un traitement sur Traitement 1
des données (procédures). Traitement 2
 Qui retournent une valeur après Traitement 3
leur invocation (fonctions).
nom, prénom, nomModule, numGroupe,
Certains langages ne distinguent pas numSalle, ….
entre les procédures et les fonctions.
Inscription
Exemples de langages procéduraux ou Affectation
fonctionnels : Fortran, Lisp, C, … Deliberation
A.Hammache 8
Langages Orientés Objet
D
Un programme est composé d’un ou T
plusieurs objets qui contiennent:
D D
 Des données "internes". T
T
 Des traitements manipulant ces
D
données internes ou d'autres D
T T
données.

Les données d'un objet sont appelés Nom, prénom

ses attributs et ses traitements sont ajouter

ses méthodes (ou opérations). Num_groupe


Num_salle

ajouter ajouter

Exemples de langages orientés objet:


SmallTalk, C++, Java, Python, PHP. Num_Res, Heure
Num_Module

affecter ajouter

A.Hammache 9
Chapitre I :
Concepts de l’Orienté Objet

A.Hammache 10
Plan du Chapitre

Objet

Classe

Encapsulation

Héritage

Polymorphisme

A.Hammache 11
Objet
 Approche procédurale :
"Que doit faire mon programme ?"
 Approche orientée objet :
"De quoi doit être composé mon programme ?"
 Cette composition est la conséquence d'un choix de modélisation fait
pendant la conception
 Un objet est une abstraction d’une entité du monde réel

Exemple: Gestion d'une bibliothèque

Germinal
E. Zola
Liberté A.Lydia
B.Tanina
Directrice
Lectrice

Le seigneur des anneaux A.Nassim


D.kamel Lecteur
J.R.R.Tolkien
Bibliothécaire
A.Hammache 12
Classe
 Des objets similaires peuvent être informatiquement décrits par une même
abstraction : une classe
 Même structure de données et mêmes 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 Liberté A.Lydia
B.Tanina
Directrice
Lectrice

Le seigneur des anneaux D.kamel A.Nassim


J.R.R.Tolkien Bibliothécaire Lecteur

A.Hammache 13
Encapsulation
 L'encapsulation est la pratique consistant à regrouper des attributs au sein
d'une même classe.

 Pour améliorer la lisibilité des


programmes.
 Protéger les données: l’accès est
réalisé par des méthodes publiques
(interface de l’objet).

A.Hammache 14
Héritage (La généralisation / spécialisation)

 L’héritage autorise une classe d’objet de bénéficier de la structure


des données et du comportement d’une classe « mère » tout en lui
permettant de les affiner et ce, afin de prendre en compte les
spécificités de la classe « fille » sans avoir cependant à redéfinir ce
que les deux classes ont en commun.

 Généralisation = recherche des similitudes


 Identifier les objets du monde réel connus par le système
 Regrouper les objets en classes
 Généraliser les classes en super classes

 La généralisation est caractérisée par l’expression : « est un type de »

A.Hammache 15
Un exemple d’héritage
Exemple : gestion d’une bibliothèque
Classes
mères Classe Personne
Classe Ouvrage
-nom, prénom
-titre

Classe Employé Classe Lecteur


Classe Livre Classe Journal -grade -type
-auteur -périodicité

Germinal
Liberté A.Lydia
E. Zola B.Tanina
Directrice
Lectrice

A.Nassim
Le seigneur des anneaux
D.kamel Lecteur
J.R.R.Tolkien
Bibliothécaire

A.Hammache 16
Un autre exemple d’héritage
Classes mères
Moyen de transport

<<hérite>>

Classes
filles
Tracteur Train Voiture

Monde réel
(objets)

A.Hammache 17
Polymorphisme
Offre la possibilité d’associer à un comportement (méthode),
une implémentation différente en fonction de l’objet auquel
on se réfère.

Forme

Personne dessiner()
dessiner()

Sanctionner() Sanctionner() dessiner()

Employé Lecteur

A.Hammache 18
Avantages de la Programmation Orientée
Objet

 Facilite l’évolution du code.


 Facilite la réutilisation de code.
 Une meilleure sécurité (encapsulation).
 Améliore la conception et la maintenance des grands
systèmes.
 Permet la Programmation par « composants ».
 Conception d’un logiciel à la manière de la fabrication d’une
voiture.

A.Hammache 19

Vous aimerez peut-être aussi