Ministère de l’Enseignement supérieur et de la Recherche Scientifique Université Abderrahmane Mira Bejaia Faculté des sciences exactes Département d’informatique Support de cours Module : Programmation Orientée Objet (POO) Chapitre 1 : Introduction à la POO A l’usage des étudiants de 2ème année Licence informatique Par Dr BRAHAMI / EL BOUHISSI Houda 2016 / 2017 Licence 02 – Informatique Chapitre 01 : Introduction à la POO 1.1 Notions de base : Chaque langage de programmation appartient à une “famille” de langages définissant une approche ou une méthodologie générale de programmation appelée « paradigme de programmation ».Un paradigme de programmation désigne la façon de raisonner et d’implémenter une solution à un problème en programmation. Il existe au moins 20 paradigmes différents. Dans ce qui suit, nous allons citer les paradigmes les plus connus. a) La programmation impérative : La programmation impérative (procédurale) est la plus courante. Un programme impératif n’est rien de plus qu’une suite d’instructions. Il peut donc être assimilé en quelque sorte à une recette de cuisine, il suffit de lire les instructions et les exécuter les unes après les autres. b) La programmation fonctionnelle En opposition avec la programmation impérative, la programmation fonctionnelle rejette la mutation des données et les effets de bord (modification d’un état autre que la valeur de retour de la fonction). Tout calcul est donc fait sous forme d’appel à des fonctions. c) La programmation logique Ce paradigme est très proche des mathématiques, puisqu’il est à l’origine utilisé pour les démonstrations automatiques de théorèmes. Le principe est de définir une liste de faits (axiomes) et de règles de logique qui leur associent des conséquences. d) La programmation orientée objet (POO) Le paradigme de programmation objet est un dérivé de la programmation impérative. Le principe est ici de programmer des objets, qui représentent un concept, un objet physique ou un ensemble de données et les actions qui lui sont rattachées, plutôt que de ne voir ces ensembles uniquement d’un point de vue procédural. La POO est née suite à la « crise du logiciel » afin de permettre une maintenance des codes plus efficace. De nombreux langages de programmation modernes supportent la POO, comme le langage java. Le langage Java : Idée originale de James Gosling. L’objectif était de commander sa machine à café à distance (pour trouver un café chaud lors de sa rentrée à la maison), Il a voulu développer cette commande en C. Après plusieurs mois ; il a trouvé plusieurs difficultés dû à la complexité du langage C et à sa dépendance du système d’exploitation => il faut un langage plus simple et mieux adapté à la communication sur internet Cette idée a été reprise par SUN MicroSystems après avoir recruté James Gosling. 1990 : première version du langage Java sous la direction de Bill Joy et James Gosling. 1993 : avec l'intérêt grandissant d'Internet, ce langage, se métamorphose en langage dédié à Internet : SUN diffuse le premier browser HotJava qui permet d'exécuter des programmes Java encapsulés dans des pages WEB (i.e. des applets Java) de plus en plus «vivantes ». Module : Programmation Orientée Objet - Dr BRAHAMI/EL BOUHISSI H. - 2|Page Licence 02 – Informatique Chapitre 01 : Introduction à la POO 1996 : Les Java Développement Kits (JDK) ou (J2SDK) sont disponibles gratuitement pour la plupart des machines du marché. 2009 : Java a été racheté par Oracle. Java est un langage de programmation particulier qui possède des caractéristiques avantageuses: – Simplicité et productivité: • Intégration complète de l’OO. • Gestion mémoire. – Robustesse, fiabilité et sécurité. – Indépendance par rapport aux plateformes – Ouverture: • Support intégré d’Internet • Connexion intégrée aux bases de données (JDBC) – Distribution et aspects dynamiques – Performance Il existe 2 façons différentes pour écrire un programme en langage Java : • En écrivant le code dans un simple éditeur de texte – Compilation et exécution du code en ligne de commande DOS • En utilisant un environnement de développement (IDE) – Netbeans (http://www.netbeans.com) – Borland JBuilder (http://www.borland.com/jbuilder) – IBM WebSphere Studio (http://www.ibm.com/software/awdtools) – Sun ONE Studio (http://wwws.sun.com/software/sundev) – Microsoft .Net Studio (http://msdn.microsoft.com/vstudio) Par contre, les inconvénients du langage Java : • Pas aussi rapide qu’un programme natif. • Gourmand en mémoire. 1.2 Utilisation des TAD : Un type abstrait de données (quel que soit le langage) c’est le rassemblement de toutes les entités ayant un lien « logique » entre elles. Ce type est clairement identifié par un nom (identificateur). Un TAD est un ensemble d'objets caractérisés par les opérations qui leur sont applicables. Implicitement il lui est attaché (spécifications) souvent bien décrites. des propriétés sous-jacentes et même explicitement Exemples: Ensemble : ajouter, supprimer, appartient… Fenêtre : tracer, agrandir, déplacer … Ce qui importe, c'est le concept véhiculé par un objet (et non la structure de données sousjacente). Module : Programmation Orientée Objet - Dr BRAHAMI/EL BOUHISSI H. - 3|Page