Vous êtes sur la page 1sur 18

Nous formons les experts de demain

ECOLE SUPERIEURE PRIVEE RECONNUE PAR L’ETAT

POO322-Programmation Java 1
Licence Pro. Informatique-2ème année Tronc commun
Support de cours – Chapitre 1

Aristide Ciriaque NDIELE


aristide.ndiele@esiitech-gabon.com
Chapitre 1
Concept de base de la POO
Dans ce chapitre, nous introduisons les concepts de base de la programmation orientée objet avec Java.

 Objectifs
• Présenter sommairement Java
• Définir la POO
• Introduire les principes de base de la POO

 Contenu
1. Présentation de Java
1.1. Quelques caractéristiques
1.2. Différentes éditions
2. Qu’est-ce que la POO ?
3. Quelques définitions
4. Concepts de base de la POO

Reproduction interdite 2
Chapitre 1
Concept de base de la POO
1. Présentation de Java
• Java est un langage de programmation a usage général, évolué et orienté objet dont la
syntaxe est proche de celle du langage C.
• Ses caractéristiques ainsi que la richesse de son écosystème et de sa communauté lui ont
permis d’être très largement utilisé pour le développement d’applications de types très
disparates.
• Java est notamment largement utilisé pour le développement d’applications d’entreprises
et mobile.
• La première version de Java (Java 1.0) a été lancée officiellement en mai 1995.

Reproduction interdite 3
Chapitre 1
Concept de base de la POO
1. Présentation de Java

1.1. Quelques caractéristiques


Java possède un certain nombre de caractéristiques qui ont largement contribué à son
énorme succès :

• Java est interprété : le code source est compilé en pseudo code ou bytecode puis exécuté
par un interpréteur Java : la Java Virtual Machine (JVM).

• Java est portable : il est indépendant de toute plate-forme. Le code reste indépendant de la
machine sur laquelle il s'exécute.

• Java est orienté objet : Chaque fichier source contient la définition d'une ou plusieurs classes
qui sont utilisées les unes avec les autres pour former une application.

• Java est multitâche : il permet l'utilisation de threads qui sont des unités d'exécutions isolées. La
JVM, elle même, utilise plusieurs threads.

Reproduction interdite 4
Chapitre 1
Concept de base de la POO
1. Présentation de Java

1.2. Différentes éditions


Sun puis Oracle ont toujours fourni gratuitement un ensemble d'outils et d'API pour permettre le développement de programmes avec
Java. Ce kit, nommé JDK, est librement téléchargeable sur le site web d'Oracle : https://www.oracle.com/java/technologies/

Trois plateformes d'exécution (ou éditions) Java sont définies pour des cibles distinctes selon les
besoins des applications à développer :

• Java Standard Edition (J2SE / Java SE) : environnement d'exécution et ensemble complet d'API
pour des applications de type desktop. Cette plate-forme sert de base en tout ou partie aux
autres plateformes.
• Java Enterprise Edition (J2EE / Jakarta EE) : environnement d'exécution reposant intégralement
sur Java SE pour le développement d'applications d'entreprises.

• Java Micro Edition (J2ME / Java ME) : environnement d'exécution et API pour le
développement d'applications sur appareils mobiles et embarqués dont les capacités ne
permettent pas la mise en œuvre de Java SE.

Reproduction interdite 5
Chapitre 1
Concept de base de la POO
2. Qu’est-ce que la POO ?
Qu’est-ce qu’un paradigme de programmation ? Il s’agit d’une approche logique qu’un
développeur va adopter pour résoudre un problème. Les paradigmes les plus courants sont la
programmation impérative, la programmation fonctionnelle, la programmation réactive et la
programmation orienté objet.
La programmation impérative telle que étudiée au travers des
langages C, Pascal, … définie un programme comme étant un Données
ensemble de données sur lesquelles agissent des procédures et des
Fonction 1
fonctions. Les données constituent la partie passive du programme. Les
procédures et les fonctions constituent la partie active. Fonction 2

Programmer dans ce cas revenait à : Procédure 1


• définir un certain nombre de variables (structures, tableaux, …)
• écrire des procédures pour les manipuler sans associer explicitement les unes aux autres.
Exécuter un programme se réduit alors à appeler ces procédures dans un ordre décrit par le séquençage
des instructions et en leur fournissant les données nécessaires à l’accomplissement de leurs tâches.

Reproduction interdite 6
Chapitre 1
Concept de base de la POO
2. Qu’est-ce que la POO (suite) ?
Dans cette approche, données et procédure sont traitées indépendamment les unes des
autres sans tenir compte des relations étroites qui les unissent.
Les questions qu’on peut poser dans ce cas :
• Cette séparation (données, procédures) est elle utile ?
• Pourquoi privilégier les procédures sur les données (Que veut-on faire ?) ?
• Pourquoi ne pas considérer que les programmes sont avant tout des ensembles d’objets
informatiques caractérisés par les opérations qu’ils connaissent ?

Ainsi, l'idée de base de la programmation orientée Données message Données


objet est de rassembler dans une même entité appelée Méthodes Méthodes
objet les données et les traitements qui s'y appliquent.
Objet 1 Objet 2
Un programme est ainsi constitué d’un ensemble d’objets chacun disposant d’une partie procédures et d’une partie données. Les objets
interagissent par envoie de messages.

Reproduction interdite 7
Chapitre 1
Concept de base de la POO
3. Quelques définitions
3.1. POO
La POO est une approche logique de résolution d’un problème (méthode d’implémentation)
dans laquelle un programme est organisé sous forme de collections coopératives d’objets,
dont chacun représente une instance d’une classe quelconque et dont toutes les classes sont
membres d’une hiérarchie de classes unis à travers des relations d’héritages.

3.2. Algorithme Objet


Dans l’approche orienté objet un algorithme sera essentiellement vu comme un ensemble
d’objets auxquels l’utilisateur envoie des messages et qui s’en envoient pendent le
fonctionnement.
Ces objets seront toujours pour l’utilisateur des boites noires et qui contiendront des variables
locales, inconnues de l’environnement, et qui ne s’y intéressera d’ailleurs pas. Le seul moyen
d’accéder à ces objets sera l’envoie des messages qu’ils sont capables de comprendre.

Reproduction interdite 8
Chapitre 1
Concept de base de la POO
3. Quelques définitions
3.2. Algorithme Objet (suite)

Remarque :

La spécification d’un système dans l’approche OO va s’axer principalement sur la


détermination des objets à manipuler. Une fois cette étape réalisé le concepteur n’aura
plus qu’à réaliser les fonctions de haut niveau qui s’appuient sur les objets et les familles
d’objets définis.

Reproduction interdite 9
Chapitre 1
Concept de base de la POO
3. Quelques définitions
3.3. Objet et Classe
 Un objet est une entité logicielle:
• Ayant une identité
• Capable de sauvegarder un état, c’est-à-dire un ensemble d’information dans des
variables internes.
• Répondant à des messages précis, en déclenchant des activations internes appropriés
qui change l’état de l’objet. Ces opérations sont appelées méthodes. Ce sont des
fonctions liés à des objets et qui précisent le comportement de ces objets.

 Une classe est le support de l'encapsulation : c'est un ensemble de données et de


fonctions regroupées dans une même entité.

Reproduction interdite 10
Chapitre 1
Concept de base de la POO
3. Quelques définitions
3.4. Attributs
Les attributs d’un objet sont l’ensemble des informations se présentant sous forme de variables
et permettant de représenter l’état de l’objet.

3.5. Message
Un message est une demande d’activation d’une méthode envoyé à un objet.

3.6. Méthodes
Une méthode est une fonction ou procédure liée à un objet qui est déclenchée à la réception
d’un message particulier : la méthode déclenchée correspond strictement au message reçu.

3.7. Signature
La signature d’une méthode représente la précision de son nom, du type de ses arguments et
du type de donnée retournée.

Reproduction interdite 11
Chapitre 1
Concept de base de la POO
4. Concepts de base de la POO
La programmation orientée objet est basée sur les principes suivants :

• Encapsulation
• Abstraction
• Classe et Objets
• Héritage
• Polymorphisme

Reproduction interdite 12
Chapitre 1
Concept de base de la POO
4. Concepts de base de la POO
4.1. Encapsulation
L'encapsulation permet de sécuriser l'accès aux données d'une classe. Ainsi, les données
déclarées private à l'intérieur d'une classe ne peuvent être accédées et modifiées que par des
méthodes définies dans la même classe.
On précise trois modes d’accès aux attributs d’un objet.
• Le mode public avec lequel les attributs seront accessibles directement par l’objet lui-même
ou par d’autres objets. Il s’agit du niveau le plus bas de protection.
• Le mode private avec lequel les attributs de l’objet seront inaccessibles à partir d’autres
objets : seules les méthodes de l’objet pourront y accéder. Il s’agit du niveau le plus fort de
protection.
• Le mode protected : cette technique de protection est étroitement associée à la notion
d’héritage (suite du cours).

Reproduction interdite 13
Chapitre 1
Concept de base de la POO
4. Concepts de base de la POO
4.2. Abstraction
C’est le faite de simplifier la réalité complexe en modélisant des classes appropriées au
problème.
Exemple : Voiture
L’abstraction est un principe qui consiste à ignorer certains aspects d’un sujets qui ne sont
pas importants pour le problème dans le but de se concentrer sur ceux qui le sont.

4.3. Classes, objets, instances


 Classe
• Une classe est le support de l'encapsulation : c'est un ensemble de données et de
fonctions regroupées dans une même entité. Une classe est une description abstraite
d'un objet.

Reproduction interdite 14
Chapitre 1
Concept de base de la POO
4. Concepts de base de la POO
4.3. Classes, objets, instances
 Classe (suite)
• Les fonctions qui opèrent sur les données sont appelées des méthodes.
• Instancier une classe consiste à créer un objet sur son modèle. Entre classe et objet il y a,
en quelque sorte, le même rapport qu'entre type et variable.
• Java est un langage orienté objet : tout appartient à une classe sauf les variables de
types primitives.
• Pour accéder à une classe il faut en déclarer une instance de classe ou objet.
• Une classe se compose de deux parties : un en−tête et un corps. Le corps peut être divisé
en 2 sections : la déclaration des données et des constantes et la définition des
méthodes. Les méthodes et les données sont pourvues d'attributs de visibilité qui gèrent
leur accessibilité par les composants hors de la classe.

Reproduction interdite 15
Chapitre 1
Concept de base de la POO
4. Concepts de base de la POO
4.3. Classes, objets, instances
 Objets

• On définit l’objet comme l’instance d’une classe. La classe représente pour l’objet ce
que représente le type pour la variable.
• Les objets contiennent des attributs et des méthodes.
• Les attributs sont des variables ou des objets nécessaires au fonctionnement de l'objet.
• La classe est la description d'un objet.
• Pour chaque instance d'une classe, le code est le même, seules les données sont
différentes à chaque objet.

Reproduction interdite 16
Chapitre 1
Concept de base de la POO
4. Concepts de base de la POO
4.3. Classes, objets, instances
 Objets
Un objet est caractérisé par :
• Son identité (OID) : valeur unique et invariante qui caractérise l’objet
• Son comportement : qui est défini à travers les méthodes applicables à cet objet et qui
caractérisent sa façon d’agir et de réagir dans son environnement.
• Son état : qui constitue l’ensemble des valeurs des attributs de cet objet.

 Instances
• Une instance d’une classe est un objet particulier d’une classe qui peut activer les
méthodes de la classe et qui a des valeurs particulières de ses attributs.

Reproduction interdite 17
Chapitre 1
Concept de base de la POO
4. Concepts de base de la POO
4.4. Héritage
La notion d’héritage est une relation entre différentes classes permettant de définir une
nouvelle classe en se basant sur les classes existantes. C’est est un mécanisme qui facilite la
réutilisation du code et la gestion de son évolution
Elle définit une relation entre deux classes :

• une classe mère ou super−classe


• une classe fille ou sous−classe qui hérite de sa classe mère

4.5. Polymorphisme
Le polymorphisme est un mécanisme qui permet à une sous-classe de redéfinir une méthode
dont elle a hérité tout en gardant la même signature de la méthode.

Reproduction interdite 18

Vous aimerez peut-être aussi