Vous êtes sur la page 1sur 20

COURS 1

L. KADDOURI
NIT
2024
La Programmation Orientée Objet
(POO)

Introduction au
Langage JAVA

L. KADDOURI
NIT
2024
1. Introduction aux Paradigmes de programmation

Un langage de programmation est un langage artificiel conçu pour


programmer un ordinateur.

Chaque langage est défini par :

 Une syntaxe (ce qui est écrit)


 Une sémantique (ce qui est compris par l’ordinateur)
3 catégories de langages existent, suivant le niveau d’abstraction :

 Langage machine
 Langage assembleur
 Langage évolué (haut niveau)

Langage Evolué
Langage Assembleur
Langage Machine
Matériel (Hardware)
Il existe une multitude de langage de programmation (haut niveau).

Certain langages sont conçus pour supporter un seul paradigme,


alors que d’autres sont en mesure de supporter des paradigmes
multiples.
Un paradigme de programmation est un style de programmation
informatique qui traite de la manière dont les solutions aux
problèmes doivent être formulées dans un langage de
programmation.

Paradigme = modèle de pensé, une façon de voir les choses

Se sont les paradigmes qui définissent


la manière avec laquelle nous
programmons
Différents paradigmes Procédural
Pascal
existent en programmation C
Impératif
C++
Orienté objet
Java

Python
Paradigmes

Fonctionnel Lisp
OCaml

HTML/XML
Descriptif
Déclaratif LaTex

Logique Prolog
2. La Programmation Orientée Objet (POO)
La POO est une méthodologie employée lors de la conception des
programmes (un paradigme) utilisant les notions de Classes et
d’Objets.

Objets Classes
Se sont les entités du monde Se sont les modèles (moules)
réel qui ont leurs propriétés où sont définis les propriétés
(attributs) et leurs (propres a chaque objet) et les
comportements (méthodes) comportements (communs à
l’ensemble des objets)
2. La Programmation Orientée Objet (POO)
La Classe représente le « moule » à partir du quel les objets de
cette classe sont créés. La création d’objets est appelée
« Instanciation ».
Objet : obj1

instanciation
Objet : obj2 Classe :
Objet : obj3 C
.
.
. L’instanciation permet la création ou la
construction d’objets de la classe :
Objet : objN
les instances de la classe
Exemple de Classes et d’Objets
objets
classe : Chien Instances de la classe Chien :
Propriétés : chien1 chien2 chien3
- race
Attributs
- taille
- âge
- couleur
Comportements :
- manger ( )
- race : Caniche - race : Berger All - race : Doberman
Méthodes

- courir ( ) - taille : 35.5 (cm) - taille : 70.3 (cm) - taille : 80.7 (cm)
- dormir ( ) - âge : 4 (ans) - âge : 7 (ans) - âge : 8 (ans)
- couleur : Blache - couleur : Marron - couleur : Noire
- aboyer ( )
La POO vs La Programmation Procédurale
Programmation Orientée Objet Programmation Procédurale
- Approche de Bas en Haut - Approche de Haut en Bas (Top
(Bottum Up Approch) Down Approch)
- Manipule des objets - Manipule des fonctions (proc)
- Les Objets ont leurs propres - Les fonctions s’appellent entre
comportements et elles et se transmettent des
interagissent entre eux données
- Admet des modificateurs - N’admet pas des modificateurs
d’accès (Acess Modifiers) d’accès (Acess Modifiers)
- Programmation plus - Programmation moins
sécurisée sécurisée
- Supporte la surcharge - Ne Supporte pas la surcharge
Les Concepts de base de la POO

Héritage
(Inheritance)

(Polymorphism)
(Encapsulation)
Concepts

Polymorphisme
Encapsulation de Base
de la
POO
Abstraction
(Abstraction)
Les Concepts de base de la POO
(1) L’Abstraction
Permet de simplifier la réalité et se focaliser seulement sur les
informations importantes en masquant les détails d'implémentation
et en exposant les parties essentielles.
« Montrer le QUOI et cacher le COMMENT »
Les Concepts de base de la POO
(2) L’Encapsulation
Les Données et les programmes qui manipulent ces données sont
regroupés ensemble dans une même entité.
L’accès et la manipulation des données privées sont réduits aux
seuls actions autorisées.
Les Concepts de base de la POO
(3) L’Héritage
Une classe peut réutiliser les propriétés et
les comportements définis dans une autre
classe selon la hiérarchie d’héritage établie. classe :
Super-Classe 
On dit que la classe « fille » (sous-classe)
Mère
hérite de sa classe « mère » (super-classe). Hérite de

Sous-Classe 
classe :
Fille
Les Concepts de base de la POO classe :
(4) Le Polymorphisme Animal
Hérite de
L’aptitude des objets d’appartenir (instance
de) à plusieurs classes en même temps. Ils classe :
sont instances de leur classe et instances de Carnivore
toutes les classes parentes. Donc ils
Hérite de
partagent les mêmes propriétés et
comportements. classe :
-symba est un Lion
Félin
-symba est un Félin Hérite de
Objet instance de
-symba est un Carnivore classe :
Lion : symba
-symba est un Animal Lion
Avantages de la POO
- Les programmes sont basés sur les 04 concepts
de base de la POO
- Réduction de la duplication du code et Réutilisation
du code
- Réduction du temps de développement des
logiciels
- Facilitation dans la conception des programmes
- Protection et Sécurisation des Données et ce,
grâce à l’Encapsulation
- Réduction de la Complexité des programmes et ce,
grâce à l’Héritage
- Séparation des spécifications des objets de leur
implémentation et ce, grâce à l’Abstraction
Inconvénients de la POO

- Les programmes sont plus longs


- Lenteur dans le temps d’exécution (Run Time)
- Ne s’adapte pas à tous les types de programme
- Conversion du problème du monde réel vers la
POO peut, dans certains cas, s’avérer complexe
dans la partie implémentation
- Exigence en savoir-faire en génie logiciel pour les
projets importants (architectes, ingénieurs, et
développeurs qualifiés en POO)
- Absence de Standards
Exemple 1 : Définition de la classe « Chien »
class Chien { classe : Chien
// les Attributs
Propriétés
String race ;
- race
double taille ;
- taille
int age ;
- âge
String couleur ;
- couleur
// les Methodes
void manger ( ) { System.out.println ("Je mange …") ; } Comportements :
- manger ( )
void courir ( ) { System.out.println ("Je cours …") ; } - courir ( )
void dormir ( ) { System.out.println ("Je dors …") ; } - dormir ( )
- aboyer ( )
void aboyer ( ) { System.out.println ("J’aboie …") ; }
}
Exemple 2 : Définition de la classe « Employe »
class Employe {
// les Attributs
String nom ;
double salaire;
// les Methodes (les accesseurs) : Getters et les Setters
String getNom ( ) { return nom ; }
void setNom (String n) { nom=n ; }
double getSalaire ( ) { return salaire ; }
void setSalaire (double s) { salaire=s ; }
}

Vous aimerez peut-être aussi