Vous êtes sur la page 1sur 29

Programmation Orientée

Objet (POO)
GINFO3

Préparée par Sanaa Faquir


Types de programmation

 Il existe 4 types principaux de programmation :


 la programmation impérative
 la programmation orientée objets
 la programmation fonctionnelle
 la programmation logique
Programmation impérative

 C’est le type de programmation le plus fréquent.


 Elle consiste à lister une séquence d’ordres à
l’ordinateur.
 Le code va ensuite être exécuté ligne par ligne jusqu’a
la fin de son exécution.
 Exemple de Les langages en programmation
impérative:
 La programmation Procédurale: C, COBOL, Basic, Perl.
 La programmation structurée: JavaScript et PHP.
Programmation structurée et
Programmation procédurale
 la programmation structurée
 recommande une organisation hiérarchique simple du code.
 On peut le faire dans la plupart des langages de programmation modernes par l'utilisation de structures de
contrôles while, for, if .. else.
 Les programmeurs doivent décomposer leur code en petits sous-programmes (appelés fonctions et procédures
dans certains langages), assez petits pour être facilement compris.
 En général les programmes doivent éviter d'utiliser des variables globales ; au lieu de cela, les sous-
programmes doivent utiliser des variables locales et agir sur des arguments fournis explicitement
en paramètre, par valeur ou par référence.
 Ces techniques aident à créer des petits morceaux de code, faciles à comprendre isolément sans avoir à
étudier l'ensemble du programme.
 La programmation procédurale
 a la particularité de fonctionner avec des appels de procédures.
 Les procédures peuvent être appelées à tout moment et une procédure peut aussi s’appeler elle-même
(récursion).
 les programmes sont basés sur des fonctions, et les données peuvent être facilement accessibles et
modifiables.
Exemple 1: Programmation procédurale
Exemple 2: Programmation procédurale
Programmation fonctionnelle

 Elle fait partie de la famille de la programmation déclarative.


 Elle se caractérise principalement par la possibilité de déclarer et
d’appeler des fonctions à l’intérieur d’autres fonctions.
 Les langages fonctionnels sont LISP, Haskell, OCaml, Erlang, Scala.
 Le paradigme de programmation fonctionnel était très apprécié,
il est aussi possible de coder de manière fonctionnelle avec des
langages comme JavaScript ou encore Python.
La programmation logique
 C’est une forme de programmation qui définit les applications à l'aide
d'un ensemble de faits élémentaires les concernant et de règles de logique leur
associant des conséquences plus ou moins directes.
 Ces faits et ces règles sont exploités par un démonstrateur
de théorème ou moteur d'inférence, en réaction à une question ou requête.
 Elle est généralement utilisée dans l’intelligence artificielle.
 En informatique les concepts sont utilisés pour que l’ordinateur résolve les
problèmes.
 Exemple de langage de programmation: Prolog

Exemple de code Exemple de requete


intelligent(Hicham). femme(Salma)
Yes
homme(Tariq).
Femme(tariq)
homme(Ahmed). non
femme(Salma)
la Programmation Orientée
Objet (POO)?
• Dans la programmation orientée objet (POO), chaque
programme est constitué d’entités appelées objets.
• On peut ensuite ajouter des méthodes (fonctions) et des
caractéristiques à ces objets.
• Ces objets, qui ne sont pas facilement accessibles et
modifiables.
• Ce type de programmation se concentre sur l’objet plutôt que
sur les actions et les données plutôt que sur la logique.
• Les langages de programmation orientée objets sont
Smalltalk, Python, C++, Java, Ruby, C#, Swift.
La Programmation Orientée Objet
(ou POO)
 C’est un paradigme de programmation dans lequel les programmes sont écrits et structurés
autour des objets plutôt que des fonctions ou de logique.
 Les objets sont définis comme des champs de données qui ont des attributs et un
comportement uniques.
 Ils contiennent des données sous forme d’attributs et des procédures sous forme de
méthodes.
 Les procédures d’objet peuvent accéder et modifier les données présentes dans un objet.
 Exemple:
 une voiture Ford est un objet,
 avec ses attributs (type, modèle, prix, couleurs, etc…)
 et ses méthodes (accélérer, ralentir, freiner, etc.).
Qu’est ce qu’une classe?

 Une classe est un plan ou un prototype défini par


l’utilisateur à partir duquel des objets sont créés.

 Il représente l’ensemble des propriétés ou méthodes


communes à tous les objets d’un type.
Classes et Objets
Attributs
Classe: Voiture
Type= “Fiesta”

Modèle= “2023” Une instance

Prix= “220000” Objet: Ford

Couleur= “Rouge”

Methodes

Ralentir()

Freiner()

Accélérer()
Classes et objets
 Les 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
Classes et objets

Un objet est une instance de la classe


La Programmation Orientée Objet
(ou POO)
 La première étape de la POO est d’identifier tous les objets qu’un programmeur
veut manipuler et comment ils sont liés les uns aux autres.

 Ce processus est souvent connu sous le nom de « modélisation des données ».

 Une fois qu’un objet est connu, il est généralisé comme une classe d’objets qui
définit le type de données qu’il contient et toutes les séquences logiques qui
peuvent le manipuler.

 Chaque séquence logique distincte est connue comme une méthode et les objets
peuvent communiquer avec des interfaces bien définies appelées messages.
Exemple de diagramme de classes
Exemple de code en Java
Les états (vitesse et model) sont
stockés dans des attributs.

Le comportement de l’objet
(accélérer et freiner) est
indiqué via des méthodes.

Dans cet exemple,


les méthodes
sont:
La Programmation Orientée Objet
La programmation orientée objet est basée sur les principes suivants:

Le polymorphisme est le processus


L’abstraction simplifie la réalité d’utilisation d’un opérateur ou d’une
L’encapsulation complexe en modélisant des fonction de différentes manières
masque les détails classes appropriées au problème. pour différentes entrées de données.
d’implémentation
d’une classe à
d’autres objets.

L’héritage est un moyen


de former de nouvelles
classes en utilisant des
classes déjà définies.
Nom de la classe

 Lorsque vous créez une classe java, vous devez suivre cette règle:
 Le nom du fichier et le nom de la classe doivent être les mêmes.

 Dans notre exemple, la classe « Voiture » doit être stockée dans un fichier nommé Voiture.java.
 Java est également sensible à la casse: Voiture écrit avec une majuscule V n’est pas la même
chose que voiture, écrit avec une minuscule v.
Qu’est ce qu’un objet?
 C’estune unité de base de la programmation orientée
objet et représente les entités de la vie réelle.
 Un programme Java typique crée de nombreux objets
qui interagissent en appelant des méthodes.
 Un objet est composé de:
 Etat: Il est représenté par les attributs d’un objet.
 Comportement: Il est représenté par les méthodes d’un objet.
 Identité: attribue un nom unique à un objet et permet à un objet
d’interagir avec d’autres objets.
Exemple de code en Java

La classe nommée « VoitureExemple » est créer et stocker dans un fichier nommé VoitureExemple.java

Dans le code ci-dessus, nous avons


crée deux nouveaux objets de type
voiture : Renault et Peugeot.

Il s’agit de deux instances distinctes


de la classe Voiture (deux objets
différents) et l’appel des méthodes
de l’objet Renault n’affecte pas l’objet
Peugeot.
Les langages de programmation
orientés objet
 Les langages de POO les plus populaires sont :
 Java
 Python
 PHP
 JavaScript
 C++
 Visual Basic .NET
 Ruby
 Scala
Le langage de programmation Java

 Le langage de programmation Java a été développé à l’origine par Sun Microsystems qui a été
initié par James Gosling et publié en 1995 en tant que composant principal de la plate-forme Java
de Sun Microsystems (Java 1.0 [J2SE]).
 La dernière version de Java Standard Edition est Java SE 8.
 Avec l’avancement de Java et sa popularité généralisée, plusieurs configurations ont été conçues
pour s’adapter à divers types de plates-formes.
 Exemple :
 J2EE pour les applications d’entreprise,
 J2ME pour les applications mobiles.

 Les nouvelles versions de J2 ont été renommées Java SE, Java EE et Java ME respectivement.
 Java est garanti pour être Écrite une fois (Write Once), s’exécute partout (Run Anywhere/Platform
independant).
Caractéristiques de Java
 Orienté Objet :
 En Java, tout est un Objet.
 Java peut être facilement étendu puisqu’il est basé sur le modèle Objet.
 Plate-forme indépendante:
 Contrairement à de nombreux autres langages de programmation, y compris C et C ++, lorsque Java est
compilé, il n’est pas compilé dans une machine spécifique à la plate-forme, mais plutôt dans un code octet
indépendant de la plate-forme.
 Ce code octet est distribué sur le Web et interprété par la machine virtuelle (JVM) sur la plate-forme sur
laquelle il est exécuté.
 Simple:
 Java est conçu pour être facile à apprendre.
 Si vous comprenez le concept de base de OOP Java, il serait facile à maîtriser.
 Sécurisé:
 Avec la fonction sécurisée de Java, le langage Java permet de développer des systèmes sans virus et sans
inviolabilité.
 Les techniques d’authentification sont basées sur le chiffrement à clé publique.
Caractéristiques de Java
 Architecture neutre :
 le compilateur Java génère un format de fichier objet neutre en termes d’architecture, ce qui
rend le code compilé exécutable sur de nombreux processeurs, avec la présence du système
d’exécution Java.
 Portable:
 Être neutre sur le plan de l’architecture et ne pas avoir d’aspects dépendants de
l’implémentation de la spécification rend Java portable.
 Le compilateur en Java est écrit en C ANSI avec une limite de portabilité propre
 Robuste :
 Java s’efforce d’éliminer les situations sujettes aux erreurs en mettant l’accent
principalement sur la vérification des erreurs au moment de la compilation et la vérification
de l’exécution.
 Multithreadeding (multitâches):
 Avec la fonctionnalité multithread de Java, il est possible d’écrire des programmes qui
peuvent effectuer de nombreuses tâches simultanément.
 Cette fonctionnalité de conception permet aux développeurs de construire des applications
interactives qui peuvent fonctionner sans problème.
Caractéristiques de Java

 Interprété : le code octet Java est traduit à la volée en instructions machine


natives et n’est stocké nulle part.
 Haute performance: Avec l’utilisation de compilateurs Just-In-Time, Java
permet des performances élevées.
 Distribué : Java est conçu pour l’environnement distribué d’Internet.
 Dynamique : Java est considéré comme plus dynamique que C ou C++ car il
est conçu pour s’adapter à un environnement en évolution.
Exigences de travail

 Pourexécuter les code Java, vous aurez besoin d’un


ordinateur Pentium 200 MHz avec un minimum de 64
Mo de RAM (128 Mo de RAM recommandés).

 Vous aurez également besoin des logiciels suivants :


 Windows 7/8/10
 Java JDK 8
 Eclipse (editeur)
Java Virtual machine (JVM)
 JVM (Java Virtual Machine) est une machine abstraite.
 Il s’agit d’une spécification qui fournit un environnement d’exécution dans
lequel le bytecode java peut être exécuté.
 Les JVM sont disponibles pour de nombreuses plates-formes matérielles et
logicielles (c’est-à-dire que la JVM dépend de la plate-forme).
 La JVM effectue l’opération suivante :
▪ Charge le code
▪ Vérifie le code
▪ Exécute le code
▪ Fournit un environnement d’exécution
Conclusion
 Les failles de la programmation procédurale posent le besoin de
la programmation orientée objet.
 La programmation orientée objet corrige les défauts du programmation
procédurale en introduisant le concept «objet» et «classe».
 Elle améliore la sécurité des données, ainsi que l’initialisation et le nettoyage
automatiques des objets.
 La programmation orientée objet permet de créer plusieurs instances de l’objet
sans aucune interférence.

Vous aimerez peut-être aussi