Anda di halaman 1dari 7

Programmation oriente objet

Mme Eya cheikh

Chapitre 1 : Introduction la programmation oriente objet

L2 Dpartement Tech. Info ISET RADES

Programmation oriente objet

Mme Eya cheikh

Introduction
En termes de programmation, il y a eu plusieurs volutions successives. Parmi lesquelles on peut citer la programmation procdurale et la programmation oriente objet. Pour voir quel cheminement le programmeur a d suivre pendant ces dernires annes, on propose de mettre en parallle ces deux techniques de programmation puis de mettre laccent sur la programmation oriente objet, sur quelques langages orients objets et environnements de dveloppements intgrs.

I.

Vers une programmation oriente objet


1.1. La programmation procdurale
Le principe de base de la programmation procdurale cest de diviser un programme en sous-

programmes en fonction des sous-tches excuter, afin de pouvoir en grer la complexit. Ce type de programmation, tient avant tout compte des traitements et peut tre rsum par la question : Que doit faire le programme ? . Cette approche allge le travail du programmeur, les tests et la maintenance des programmes.

1.2 La programmation oriente objet (POO)


La POO est une nouvelle mthode de programmation qui se distingue fondamentalement des mthodes prcdentes par ses trois principes qui sont lencapsulation, lhritage et le polymorphisme. Elle tend se rapprocher de notre manire naturelle dapprhender le monde. Lapproche Oriente Objet sest surtout pose la question sur quoi porte le programme ? . En effet, un programme informatique comporte toujours des traitements mais aussi, et surtout des donnes. Si la programmation procdurale sintresse aux traitements puis aux donnes, la POO sintresse dabord aux donnes, auxquelles elle associe ensuite des traitements : lexprience a montr que les donnes sont ce quil y a de plus stable dans la vie dun programme, il est donc intressant darchitecturer le programme autour de ses donnes. Ainsi, la technique de POO repose sur le postulat suivant : la meilleure faon de dcrire les systmes informatiques est de se fonder, non pas sur ce quils font, mais sur les objets quils manipulent.

L2 Dpartement Tech. Info ISET RADES

Programmation oriente objet Exemples

Mme Eya cheikh

Si vous crivez un compilateur, vous oublierez donc (pour quelques temps) sa tche apparente (traduire un programme dun langage vers un autre) pour vous concentrer sur les structures de donnes quil manipule (texte source, arbre syntaxique, ...) Un programme de comptabilit sera bti, non pas autour de sa fonction principale, mais autour des objets quil traite : comptes, tats, critures, La rsolution dun problme consiste ainsi en une interaction entre diffrents objets. La subdivision classique dun programme en donnes et instructions de traitement est radicalement modifie avec la POO. Elle est supplante par la constitution dobjets synthtisant les donnes et les traitements effectus sur elles. La rsolution dun problme fait exclusivement appel des messages changs entre ces objets.

1.3 Approche par traitements vs approche par objets


1.3.1 Exemple Prenons l'exemple d'une application de commerce lectronique. Dans un systme procdural, on trouverait les procdures suivantes:

Crer les produits Classer les produits Modifier les produits Afficher les produits Ajouter les produits au panier Acheter les produits

Dans un systme orient objet l'application entire pourrait ne fonctionner qu'avec quelques objets, chacun responsable d'un aspect prcis du systme:

Produit Client Panier Entrept

1.3.2 Tableau de comparaison : Approche par Traitements/Approche par Objets Le tableau suivant permet de comparer entre les deux approches de programmation par traitements dune part et par objets dautre part.

L2 Dpartement Tech. Info ISET RADES

Programmation oriente objet Approche par Traitements Que doit faire le programme ? Principe: Analyse Approche par Objets

Mme Eya cheikh

Sur quoi porte le programme ?

fonctionnelle Principe: Pour crire un programme, on se fonde

descendante qui consiste diviser la non pas sur ce quil fait, mais sur les objets quils tche accomplir en sous-tches moins manipulent auxquels on associe des traitements. complexes. Avantages: facile programmer car elle fait appel un raisonnement logique que chacun sait faire Avantages : la POO privilgie : La rutilisabilit : un composant logiciel doit tre organis autour dune structure de donnes complte et non pas seulement assurer une fonction unique, aussi importante soit-elle. En dautres termes ce ne sont pas des programmes quil faut pouvoir rutiliser, mais bien plutt des structures de donnes compltes. Lextensibilit : Lintrt des mthodes oriente objet dcoule ici dune remarque empirique : si lon observe lvolution dun logiciel dune certaine taille, on constate que les fonctions demandes au systme changent tout au long de sa vie active; les objets auxquels sappliquent ces fonctions, en revanche restent plus stables. Pour prserver la souplesse et lextensibilit du systme, mieux vaut btir sa structure sur ses caractristiques les plus durables.

naturellement. Problmes: Ne favorise pas les critres de : Rutilisabilit : les procdures ne sont pas gnrales, mais adaptes aux sous problmes pour lesquels elles ont t conues. Extensibilit: larchitecture du

logiciel est fonde sur les traitements, or ces derniers sont moins stables que les donnes. Do cette approche est inadapte la conception de gros logiciels.

II.

Les langages orients objets

3.1 Naissance de la notion dobjet


La notion d'objet date du projet du missile MINUTEMAN en 1957. La conception et la simulation du fonctionnement de ce missile reposait sur un ensemble de composants logiciels prenant en charge la partie physique du missile, les trajectoires, les diffrentes parties du vol,

L2 Dpartement Tech. Info ISET RADES

Programmation oriente objet

Mme Eya cheikh

Le fonctionnement du systme global reposait sur l'change de messages d'information entre les diffrents composants. Chaque composant logiciel tait conu par un spcialiste et possdait ses donnes prives. De mme, le composant tait virtuellement isol du reste du programme par l'ensemble de ses mthodes servant d'interface.

3.2 Histoire des langages orients objets


Les mthodes et langages objets ne sont pas une invention aussi rcente quon pourrait le croire. La naissance de ces concepts est survenue avec le langage Simula en 1967 conu par Ole-Johan Dahl et Krysten Nygaard. Ce langage comprenait les lments principaux de la mthode, mais il venait trop tt : cest avec lun de ses successeurs, Smalltalk, quun large public a pris connaissance 15 ans plus tard des ides introduites par Simula. Avec Smalltalk la combinaison des techniques objets, dun environnement de dveloppement personnel puissant et dun support graphique de trs haute qualit, a rendu soudain la mthode des objets attrayante et tangible. Dautres langages et systmes sont apparus ces dernires annes. Certains sont de simples extensions de langages existants (langages hybrides) : on trouve en particulier les successeurs du C, C++ et objective-C, qui ajoutent C quelques unes des ides de la programmation par objets, mais sans remettre en cause la structure du langage de base. Apple a dvelopp Object Pascal. De nombreuses extensions objets de Lisp ont t galement proposes, telles que Loops (de Xrox), Flavors (du MIT) et Ceyx (de lINRIA). Les langages Modula-2 et Ada ont galement subi linfluence de Simula Le langage Eiffel est un langage autonome crit en C purement orient objet. Il a t conu par Bertrand Meyer pour les applications scientifiques et de gestion. Eiffel est considr comme lun des plus purs langages objets car il est dvelopp en suivant de prs la philosophie objet. Le dveloppement de Java a commenc en 1990 chez SUN Microsystems sous la direction de James Gosling. Il est driv du C++ et permet de pallier ses inconvnients (pointeurs, surcharge d'oprateurs, hritage multiple, gestion de la mmoire, etc.). Il est indpendant de la plate-forme. Il sexcute sous nimporte quelle plate-forme pour autant que celle-ci possde un interprteur Java.

L2 Dpartement Tech. Info ISET RADES

Programmation oriente objet

Mme Eya cheikh

C# est un langage orient objet dvelopp par Microsoft pour permettre la cration d'une large gamme d'applications. Ce langage est conu pour offrir un dveloppement rapide au programmeur C++ sans sacrifier les qualits de puissance et de contrle qui sont la marque du C et du C++.

III.

Les IDE : Integrated Develompent Environment

Un environnement de dveloppement est un ensemble doutils qui, en plus des tches classiques dun langage de programmation offre des fonctionnalits tendues permettant de couvrir une plus large partie du cycle de cration dun logiciel. On peut distinguer des tches telles que : Compilation et dbogage Dploiement de lapplication. Outils de test et de vrification. Outil de cration graphique (icne). Interfaage avec les SGBD. Gnrateur de menus. Un ensemble dassistants.

3.1 Exemples dIDE


Dans ce qui suit, des exemples dIDE chez des diteurs diffrents et bass sur des langages de programmation diffrents : IntelliJ Idea Borland JBuilder Oracle JDevelopper Visual J++ UltraEdit Eclipse NetBeans(Sun)..

L2 Dpartement Tech. Info ISET RADES

Programmation oriente objet

Mme Eya cheikh

QCM
Rpondez aux questions en cochant la rponse. 1. La programmation procdurale rpond la question : A Que doit faire le programme ? B C Quelles sont les donnes manipuler ? Sur quoi porte le programme ?

2. La programmation procdurale consiste : A subdiviser les tches rsoudre en sous-tches appeles procdures. B C regrouper en modules les procdures requises. regrouper en procdures les modules requis.

3. La programmation procdurale privilgie : A La modularit B La rutilisabilit C lextensibilit 4. Quel est le plus ancien des langages orientes objets ? A Smalltalk B C++ C Simula 5. La meilleure faon de dcrire les systmes informatiques est de se fonder sur : A ce quils font. B les modules quils manipulent. C les objets quils manipulent. 6. Lexprience a montr que : A les traitements sont ce quil y a de plus stable dans la vie dun programme. B les donnes sont ce quil y a de plus stable dans la vie dun programme. C il est intressant darchitecturer le programme autour de ses traitements. 7. Les mthodes et langages objets ont t invents : A au dbut des annes 70. B la fin des annes 70. C la fin des annes 60.

L2 Dpartement Tech. Info ISET RADES

Anda mungkin juga menyukai