Transcription of Programmation Orientée Objet (POO)
1 ( & !" &. R publique Alg rienne D mocratique et Populaire Minist re de l'Enseignement Sup rieur Et de la Recherche Scientifique Universit des Sciences et de la Technologie d'Oran- Mohamed BOUDIAF. Programmation Orient e Objet (POO). Licence Informatique 2 me ann e Dr Latifa DEKHICI. Maitre de conf rences 1. USTO-MB, DEKHICI L. POO. Objectif du module : Le cours de Programmation orient Objet a pour principal objectif d'introduire les tudiants la Programmation dans le paradigme orient - Objet avec le langage Java. Pour cela, ce support de court vient pour pr senter les concepts de base de la POO ainsi que leur impl mentation et mise en pratique dans Java. Il est constitu de 6 chapitres. Le premier pr sente le paradigme orient Objet . Le second chapitre aborde les bases du langage java. Dans le troisi me chapitre, Le chapitre 4 d taille quelques relations entre les classes telle que la composition et explique l'influence de la d pendance sur le cycle de vie d'un Objet .)
2 Dans le quatri me chapitre Sommaire : Page Chapitre1. Paradigme orient Objet . 3. Chapitre 2. Bases en java 7. Chapitre 3. Classes et objets. 18. Chapitre 4. Relations entre Classe (d pendance, agr gation et composition) 29. Chapitre 5. H ritage et polymorphisme 46. Chapitre ments en POO : Interfaces, g n ricit 54. R f rences 62. 2. Chapitre 1. Paradigme Orient Objet 1. Introduction La Programmation orient e Objet (POO) est une philosophie de Programmation bas e sur des concepts issus du monde r el. C'est ce que nous allons expliquer dans ce chapitre. 2. L'orient Objet : Philosophie La Programmation orient e Objet (POO) est une mani re de r soudre un probl me. C'est un paradigme, mod le de r f rence, une fa on d'aborder un probl me, une mani re de penser et une concr tisation d'une philosophie de Programmation . 3. Paradigmes de Programmation a) Programmation imp rative (proc durale) : Dans la Programmation proc durale un programme = algorithme + structure de donn es.
3 Ses langages d di s sont Pascal, C, . b) Programmation fonctionnelle : Elle adopte une approche de la Programmation beaucoup plus math matique. Ses langages d di s sont : Lisp, Matlab, Camel . c) Programmation logique : Dans la Programmation logique, la description d'un programme est sous forme de pr dicats. Exemple de langage: Prolog. d) Programmation Orient e Objet : Ses langages d di s sont : java, Small talk . 4. Comparaison entre proc durale et POO. Jusqu'ici comment avons-nous l'habitude de programmer? Et Quelle est la structure de nos codes? 3. USTO-MB, DEKHICI L. POO. Repr sentation proc durale : Repr sentation Objet : S parer les donn es des traitements. Manipuler un ensemble d'objets qui interagissent entre Subdivision bas e sur les traitements. eux. Subdivision bas e sur les donn es. 5. POO.. D finition du monde Orient Objet La Programmation orient e objets d finit un ensemble d'objets qui interagissent entre eux.
4 En d'autres termes : tout est Objet . Elle n'am liore pas subitement la qualit de l'application comme par magie. En revanche, elle aide mieux organiser le code, le pr parer des futures volutions et rendre certaines portions r utilisables pour gagner en temps et en clart . C'est pour cela que les d veloppeurs professionnels l'utilisent dans la plupart de leurs projets. La POO se concentre dans la subdivision du probl me sur les donn es. La classe est la d finition d'un type d'objets. L'encapsulation est le principe de cacher les d tails d'impl mentation de l'ext rieur par une interface.. Notion d' Objet et de classe Dans le monde r el, on peut illustrer un Objet par une voiture, un t l phone, un livre, etc. En Informatique, un Objet n'est ni une simple variable ni une simple fonction mais un m lange des deux. Il maintient son tat (param tres, caract ristique) dans des variables appel es attributs. On impl mente son comportement l'aide de fonctions appel es m thodes.
5 Donc : Objet =Un tat +Un comportement Le type d'un ensemble d'objets qui se ressemblent mais qui n'ont pas les m mes valeurs est appel Classe : Classe= attributs + m thodes. On peut consid rer par exemple les classes suivantes : a) Bicyclette : Ses caract ristiques ou son tat d pend de : Marque, type, nombre de vitesses, vitesse courante, couleur, etc. Alors que son comportement est de : rouler, tourner, acc l rer, changer de vitesse, freiner, . Les objets peuvent tre maBicyclette , taBicyclette et touteBicyclette avec des valeurs d' tats diff rentes. b) Personnage dans un jeu de combat : 4. USTO-MB, DEKHICI L. POO. Il a ( tat) : un nom, une force, une localisation, une certaine exp rience et enfin des d g ts etc. Il peut (comportement) : frapper un autre personnage ; gagner de l'exp rience ; se d Lors d'une session de jeu, on peut cr er plusieurs instances (personnages) diff rents du m me type, chacun est appel Objet . c) Un rectangle : Un rectangle est caract ris par ses attributs : longueur, largeur, Son comportement est d clench par des m thodes telles que : Dessiner, Calculer son p rim tre, Calculer sa.
6 Cycle de vie d'un Objet Chaque Objet informatique (instance) a un cycle de vie : Construction (en m moire). Utilisation: changements d' tat - comportements par ex cution de m thodes Destruction. 6. Visibilit et Encapsulation Visibilit d'un attribut ou d'une m thode La visibilit d'un attribut ou d'une m thode indique partir d'o on peut y avoir acc s. On distingue plusieurs niveaux de visibilit , dont les plus importants sont : publique et priv . a) Visibilit publique : La premi re, public, est la plus simple. Si un attribut ou une m thode est publique, alors on pourra y avoir acc s depuis n'importe o , depuis l'int rieur de l' Objet (dans les m thodes qu'on a cr es), comme depuis l'ext rieur. Quand on cr e un Objet , c'est principalement pour pouvoir exploiter ses attributs et m thodes. L'ext rieur de l' Objet , c'est tout le code qui n'est pas dans sa classe. En effet, quand on cr e un Objet , cet Objet sera repr sent par une variable, et c'est partir d'elle qu'on pourra modifier l' Objet , appeler des m thodes, etc.
7 B) visibilit priv e : La seconde, private, impose quelques restrictions. On n'aura acc s aux attributs et m thodes seulement depuis l'int rieur de la classe, c'est- -dire que seul le code voulant acc der un attribut priv ou une m thode priv e crit(e) l'int rieur de la classe fonctionnera.. Principe d'encapsulation Le principe d'encapsulation est la mani re qu'on peut interdire l'acc s aux attributs dans une classe -d. r duire leur visibilit . L'un des avantages de la POO est que l'on peut masquer le code au r - utilisateur, Le concepteur de la classe a englob dans celle-ci un code d taill qui peut tre assez complexe et il est donc inutile voire dangereux de laisser l'utilisateur manipuler ces objets sans aucune restriction. Ainsi, il est important d'interdire l'utilisateur de modifier directement les attributs d'un Objet ou les d tails des m thodes. Remarque : 5. USTO-MB, DEKHICI L. POO. L'encapsulation existe dans d'autre domaine tel que les r seaux sociaux o la visibilit d'une publication ou du profil entier peut tre priv e, destin aux amis uniquement, aux amis et leurs amis ou publique.
8 Aussi on peut dire que l'encapsulation est comme une boite noire du code. 7. Motivation et Avantages de la POO. - Permet de concevoir, maintenir et exploiter facilement de gros logiciels. - Abstraction : objets informatiques proches de ceux du monde r el. - Modularit et encapsulation permettent une maintenance et une s ret plus effective et plus simple de projets. - Accro t la r utilisabilit et la productivit . 6. Chapitre 2. Langage Java : Les bases 1. Introduction Comme je programmais en C et bien avant j'utilisais Pascal, je me demandais comment la majorit des d veloppeurs pr f rent java et je croyais que a faisait partie d'une vague de mode en informatique. Peu . peu et en touchant java, j'ai pu comprendre d'o vient le succ s de ce langage relativement r cent. Java est un langage facile apprendre et dont l'utilisation est amusante m me quand il s'agit d'un simple TP en Licence. La Programmation en orient Objet est implicite puisque tout est classe et Objet .
9 Et surtout en java, contrairement au langage c, on ne se soucie pas de pointeurs ou de r f rences. Tout au long de ce support de cours, nous utilisons java pour la Programmation orient Objet . 2. Historique de JAVA. Java est un langage de Programmation orient e Objet cr par James Gosling et Patrick Naughton, employ s de Sun Microsystems, avec le soutien de Bill Joy , pr sent officiellement en 1995 .La soci t Sun a t . ensuite rachet e en 2009 par la soci t Oracle qui d tient et maintient d sormais Java. Java n'est pas un acronyme mais en argot am ricain signifie caf qui est la boisson favorite de nombreux programmeurs. La particularit et l'objectif central de Java est que les logiciels crits dans ce langage doivent tre tr s facilement portables sur plusieurs syst mes d'exploitation mobiles ou non, avec peu ou pas de modifications. 3. Installer les Outils De D veloppement . Machine Virtuelle et JRE. L'un des principes phares de Java r side dans sa machine virtuelle : celle-ci assure tous les d veloppeurs Java qu'un programme sera utilisable avec tous les syst mes d'exploitation sur lesquels est install e une machine virtuelle Java.
10 Lors de la phase de compilation du code source, celui-ci prend une forme interm diaire appel e byte code : interpr table par la machine virtuelle Java. Cette derni re porte un nom : on parle plus de JRE (Java Runtime Environment). 7. USTO-MB, DEKHICI L. POO.. Editeur de Texte vs. Environnent de D veloppement Int gr . Nous pouvons saisir le code source dans un diteur de texte puis le compiler sous Ms-DOS l'aide d'une instruction java Mais il est pr f rable d'utiliser un outil de d veloppement, ou IDE (Integrated Development Environment) pour la saisie et l'ex cution, Exemples : Eclipse, Netbeans et BlueJ.. JRE et JDK. Avant de programmer en java le d veloppeur commence par t l charger le kit de d veloppement java (JDK) sur le site d'Oracle. Il faut choisir la derni re version stable. Il y a 2. environnements java: 1. JRE (Java Runtime Environment) contient tout le n cessaire pour que les programmes Java puissent tre ex cut s sur votre ordinateur.