REPUBLIQUE TUNISIENNE MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE
REPUBLIQUE TUNISIENNE MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Institut Supérieur des Etudes Technologiques de Médenine Département Informatique Support de cours et TD Programmation Orientée Objet Niveau : TI2 Elaboré par : BOUABID Mohamed Année universitaire : 2011-2012 p. 2 TI2 -M.BOUABID Objectifs du cours : Ce cours permet à l’étudiant d’acquérir les connaissances nécessaires pour écrire des programmes orientés objets. Objectifs spécifiques : • Comprendre les concepts de base de la programmation orientée objet. • Implémenter des classes d’objets : créer une classe en précisant ses propriétés et ses opérations et leur visibilité, et en définissant ses constructeurs • Comprendre le principe d’héritage. • Comprendre le principe du polymorphisme • Comprendre les notions d’interfaces et des classes abstraites. • Comprendre le mécanisme de gestion des exceptions Pré-requis : Programmation, algorithmique et structure de données. Bibliographie • Livres de référence o Programmer en Java de Claude Delannoy aux éditions Eyrolles o Penser en Java, Seconde édition de Bruce Eckel Note de cours « Apprentissage du langage Java », Serge Tahé - ISTIA - Université d'Angers • Autre ouvrage sur Java o Programmation JavaTM pour les enfants, les parents et les grands- parents, Yakov Fain (c’est un livre électronique) p. 3 TI2 -M.BOUABID Table des matières Introduction à la Programmation Orientée Objet .................................................................................. 6 1. De la programmation classique vers la programmation orientée objet ............................... 6 2. Notions de base de la POO ........................................................................................................ 7 2.1 Notion d'objet ........................................................................................................................ 7 2.2 Notion de classe ...................................................................................................................... 8 2.3 Notion d’encapsulation ......................................................................................................... 9 3. Les langages orientés objet ....................................................................................................... 9 Syntaxe de base du langage Java ........................................................................................................... 10 2.1. Les données de Java ........................................................................................................... 10 2.1.1 Les variables ................................................................................................................ 10 a) Les noms de variables ......................................................................................................... 10 b) Les types de base de Java .................................................................................................... 10 c) Déclarer une variable .......................................................................................................... 11 2.1.2 Les Constantes ............................................................................................................. 11 2.2. Tableaux et matrices ........................................................................................................... 12 2.3. Chaînes de caractères .......................................................................................................... 12 2.4. L’instruction d’affectation .................................................................................................. 13 2.5. Opérateurs et expressions ................................................................................................... 13 2.5.1. Expression arithmétique ................................................................................................. 13 2.5.2. Expressions relationnelles ............................................................................................... 13 2.5.3. Expressions booléennes ................................................................................................... 13 2.5.4. Combinaison d'opérateurs .............................................................................................. 13 2.5.5. Opérateurs d'incrémentation et de décrémentation ..................................................... 14 2.5.6. L'opérateur ? ................................................................................................................... 14 2.6. Structures de contrôle ......................................................................................................... 14 2.6.1. Instruction conditionnelle : if ......................................................................................... 14 2.6.2. Instruction conditionnelle : switch ................................................................................. 14 2.6.3. Itérations : while, do...while et for.................................................................................. 14 2.7. Commentaires ...................................................................................................................... 15 Classes et objets..................................................................................................................................... 16 3.1. Structure d’un programme autonome Java ...................................................................... 16 p. 4 TI2 -M.BOUABID 3.2. Package ................................................................................................................................. 16 3.3. objets et classes .................................................................................................................... 17 2.3.1. Généralités ....................................................................................................................... 17 2.3.2. Accès au membre d’une classe ....................................................................................... 18 2.3.3. L'opérateur new............................................................................................................... 19 2.3.4. Le mot clé this .................................................................................................................. 19 2.3.5. Un programme de test ..................................................................................................... 20 2.3.6. Les constructeurs de classe ............................................................................................ 20 2.3.7. Les méthodes de lecture et d'écriture des attributs privés .......................................... 21 2.3.8. Les méthodes et attributs de classe ................................................................................ 23 Héritage ................................................................................................................................................. 25 5.1. La notion d'héritage ................................................................................................................ 25 5.2. Accès d’une classe dérivée aux membres de sa classe de base ............................................. 26 5.3. Construction et initialisation des objets dérivés ................................................................... 26 5.4. La notion de redéfinition et surdéfinition de méthodes ....................................................... 27 5.4.1 Redéfinition ...................................................................................................................... 27 5.4.2 Surdéfinition .................................................................................................................... 28 Le polymorphisme ................................................................................................................................. 29 6.1. Concept de polymorphisme .................................................................................................... 29 6.2. Exemple et interprétations...................................................................................................... 29 6.3. Les conversions explicites de références ................................................................................ 30 Les classes abstraites et les interfaces ................................................................................................... 32 7.1. Les classes abstraites ............................................................................................................... 32 7.1.1. Concept des abstraites ..................................................................................................... 32 a) Syntaxe ................................................................................................................................. 32 b) Utilisation ............................................................................................................................. 32 c) Remarques ........................................................................................................................... 32 d) Exemple ................................................................................................................................ 33 7.2. Les interfaces ........................................................................................................................... 34 7.2.1. Concept d’interface ......................................................................................................... 34 a) Définitions d’une interface.................................................................................................. 34 b) Implémentation d’une interface ......................................................................................... 34 c) Exemple ................................................................................................................................ 34 d) Interface et constantes ......................................................................................................... 35 p. 5 TI2 -M.BOUABID e) Remarques ........................................................................................................................... 35 Les exceptions ....................................................................................................................................... 37 8.1. Traitement des exceptions ...................................................................................................... 37 8.2. Les exceptions prédéfinies ...................................................................................................... 38 8.3. Les exceptions personnalisées ................................................................................................. 38 Travaux dirigés .................................................................................................................................. 40 Chapitre 1 –Introduction à la Programmation orientée Objet TI2 -M.BOUABID Chapitre 1 Introduction à la Programmation Orientée Objet 1. De la programmation classique vers la programmation orientée objet Les premiers programmes informatiques d’instructions s’exécutant de façon linéaire (l’exécution instruction du fichier source et se poursuivait ligne après ligne jusqu’à la dernière instruction du programme). Cette approche, bien que simple à mettre en limites. En effet, les programmes − ne se prêtent guère à l’écriture de − et ne favorisent absolument pas la réutilisation En conséquence est apparu procédurale. L’approche procédurale ensemble de fonctions d’instructions qui ont pour Exemples de traitements qui peuvent être symbolisés par des fonctions − Le calcul de la circonférence − l’impression de la fiche de paie d’un salarié − etc. Dans le cas de l’approche procédurale, un programme correspond à l’assemblage de plusieurs fonctions qui s’appellent entre elles. Exemple de langages de programmation procédurale L’approche procédurale favorise La création d'un code plus modulaire et structuré La possibilité de réutiliser le même programme sans avoir à le retaper Bloc monolithique Fonctions et procédures Introduction à la Programmation orientée Objet Programmation Orientée Objet De la programmation classique vers la programmation orientée objet Les premiers programmes informatiques étaient généralement constitués d’une s’exécutant de façon linéaire (l’exécution commence instruction du fichier source et se poursuivait ligne après ligne jusqu’à la dernière instruction du programme). Cette approche, bien que simple à mettre en œuvre, a très rapidement montr limites. En effet, les programmes monolithiques de ce type : ne se prêtent guère à l’écriture de grosses applications et ne favorisent absolument pas la réutilisation du code. apparue une autre approche radicalement différente : L’approche procédurale (classique) consiste à découper un programme en un onctions (ou procédures). Ces fonctions contiennent un certain d’instructions qui ont pour but de réaliser un traitement particulier. de traitements qui peuvent être symbolisés par des fonctions Le calcul de la circonférence d’un cercle l’impression de la fiche de paie d’un salarié l’approche procédurale, un programme correspond à l’assemblage de plusieurs fonctions qui s’appellent entre elles. langages de programmation procédurale : C, Pascal, Ada, Cobol, Fortran, etc. L’approche procédurale favorise : La création d'un code plus modulaire et structuré La possibilité de réutiliser le même code à différents emplacements dans le programme sans avoir à le retaper F2 F3 P Fonctions et procédures p. 6 Programmation Orientée Objet De la programmation classique vers la programmation orientée objet étaient généralement constitués d’une suite commence de la première instruction du fichier source et se poursuivait ligne après ligne jusqu’à la dernière œuvre, a très rapidement montré ses approche radicalement différente : l’approche programme en un contiennent un certain nombre de traitements qui peuvent être symbolisés par des fonctions : l’approche procédurale, un programme correspond à l’assemblage de , Cobol, Fortran, etc. à différents emplacements dans le F1 P2 P1 P3 Chapitre 1 –Introduction à la Programmation orientée Objet p. 7 TI2 -M.BOUABID Malgré ses avantages, l’approche procédurale présente également des inconvénients : Les fonctions, procédures accèdent à une zone où sont stockées les données. Il y a donc une dissociation entre les données et les fonctions ce qui pose des difficultés lorsque l’on désire changer les structures de données. Dans les langages procéduraux, les procédures s’appellent entre elles et peuvent donc agir sur les mêmes données .Il ya donc un risque de partage des données (écriture en même temps dans le même le fichier). De ces problèmes sont issus une autre manière de programmer : la programmation par objet. L’approche orientée objet (Début des années 80). Selon cette approche, un programme est vu comme un ensemble d’entités (ou objets). Au cours de son exécution, ces entités collaborent en s’envoient des messages dans un but commun. Nous avons dans ce schéma un lien fort entre les données et les fonctions qui y accèdent. Mais qu’appelle-t-on un objet ? Que représente un objet ? 2. Notions de base de la POO 2.1 Notion d'objet Un objet est une entité caractérisée par : − Une identité : L’identité d’un objet permet de distinguer l’objet par rapport aux autres. − Un état interne : correspond aux valeurs de tous les attributs à un instant donné. − Un comportement : se défini par l’ensemble des opérations qu’il peut exécuter en réaction aux messages envoyés (un message = demande d’exécution d’une opération) par les autres objets. Exemple : l’objet « employe » Dans une entreprise, un employé toto (son matricule 100 permet son identification unique dans l’entreprise), est employé sur un poste de technicien dans la société X située à Tunis. Objet 3 Objet 1 Objet 2 Chapitre 1 –Introduction à la Programmation orientée Objet p. 8 TI2 -M.BOUABID Son état est caractérisé par l’ensemble des valeurs de ses attributs. − Matricule : 100 − nom : TOTO − qualification : Technicien − Lieu de travail : Tunis Son comportement est caractérisé par les opérations qu’il peut réaliser : − entrer/sortir de la société − changer de qualification − changer de lieu de travail Bref, l’ensemble des opérations pouvant affecter ses attributs. Un objet uploads/Litterature/ republique-tunisienne-ministere-de-l-x27-enseignement-superieur-et-de-la-recherche-scientifique.pdf
Documents similaires










-
33
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 12, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.2971MB