

Log InSign Up
- Log In
- Sign Up
- more
- About
- Press
- Papers
- Terms
- Privacy
- Copyright
- We're Hiring!
- Help Center
- less
Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés
infoInfo
keyboard_arrow_downkeyboard_arrow_up
mwafrika josuemwafrika josue
downloadDownload PDF
descriptionSee full PDF
visibility6.83K
views
Related papers
arrow_back_iosProgrammation Orientée Objet en JavaDjelloul Bouchiha
downloadDownload free PDF
Programmation Orientée ObjetIsmail Charit
downloadDownload free PDF
Introduction à la Programmation Orientée Objetjj dd
downloadDownload free PDF
Questions piège sur la Programmation Orientée Objet -JAVA -Partie 1Célestin COMPAORE
downloadDownload free PDF
Conception et Programmation Orienté Objet Plan du cours CPOOSellemi Emna
downloadDownload free PDF
Programmez en orienté objet en PHPTrabelsi Anwer
downloadDownload free PDF
La programmation orientée objet - 4e édition : Cours et exercices en UML2Abir Rach
downloadDownload free PDF
Programmation Orientée Émotion (EOP)Kévin Darty
, N. Sabouret
downloadDownload free PDF
Programmer pour s’orienter, s’orienter pour programmer....Gaëtan Temperman
downloadDownload free PDF
I - Objets pour la Programmation Concurrente et RépartieJean-Pierre Briot
downloadDownload free PDF
Cours d'Objet C++ Notions avancéesmoussa92 moussa92
downloadDownload free PDF
Programmation parallèle orientée objet et réutilisabilité appliquée à l'algèbre linéaireEric Noulard
downloadDownload free PDF
Apprentissage du langage Java par Serge TahéPompidou Pompidou
downloadDownload free PDF
arrow_forward_iosView more papers
keyboard_arrow_downAbstract
closeTitleReferences
1 of 14
format_list_bulletedOutline
bookmark_borderSave
shareShare
Download research papers for free!
Join us!
arrow_forwardRelated papers
Ecole Nationale d'Ingénieurs de Brest Programmation Orientée Objet (UML
Mar Youma
downloadDownload free PDF
Initiation à la programmation objet avec Java
Ex Dorado
downloadDownload free PDF
Alice, Greenfoot et Prog&Play ou Comment Apprendre la Programmation Orientée-Objet par le Jeu
Adélaïde ALBOUY-KISSI
downloadDownload free PDF
POP-Java: Parallélisme et distribution orienté objet
Pierre Kuonen
downloadDownload free PDF
Réseaux Probabilistes Orientés Objet
Olav Bangsø
downloadDownload free PDF
Programmez en orienté objet en PHP Par Victor Thuillier (vyk12
rotsy Moïse
downloadDownload free PDF
References (110)
Approche procédurale et décomposition fonctionnelle . . . . . . . . . . .La transition vers l'approche objet. . . . . . . . . . . . . . . . . . . . . . . . . . . .Les caractéristiques de la POO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .L'objet, la classe et la référence . . . . . . . . . . . . . . . . . . . . . . . . . .L'objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2 La classe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .La référence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .L'encapsulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .L'héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Le polymorphisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .L'abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Le développement objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Cahier des charges du logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.2 Modélisation et représentation UML . . . . . . . . . . . . . . . . . . . . . 232.1 Diagrammes de cas d'utilisation . . . . . . . . . . . . . . . . . . . . 262.2 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.3 Les énumérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.4 Diagrammes de séquences . . . . . . . . . . . . . . . . . . . . . . . . . 34Codage, intégration et mise en production. . . . . . . . . . . . . . . . . 36 Chapitre 3 Introduction à la plate-forme JavaIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Environnement d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Une librairie très complète. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Des outils de développement performants . . . . . . . . . . . . . . . . . . . . . 43Téléchargement puis installation de NetBeans . . . . . . . . . . . . . . . . . 43L'incontournable Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Les types "primitifs" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Les types "référence" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Pour nous aider... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60La superclasse java.lang.Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.1 equals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.2 hashCode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3 toString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.4 finalize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.5 getClass, .class et l'opérateur instanceof . . . . . . . . . . . . . . . . . . . 716 clone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.7 notify, notifyAll et wait. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .La classe java.lang.String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Exercice corrigé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Déclaration d'une classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Accessibilité des membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Attributs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.1 Attributs constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Accesseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Constructeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Étapes de la construction d'un objet . . . . . . . . . . . . . . . .4.2 Surcharge de constructeurs . . . . . . . . . . . . . . . . . . . . . . .4.3 Chaînage de constructeurs. . . . . . . . . . . . . . . . . . . . . . . .L'initialiseur static . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.5 L'initialiseur dynamique. . . . . . . . . . . . . . . . . . . . . . . . . .4.6 Les constructeurs de type private . . . . . . . . . . . . . . . . . .4.7 Le "builder pattern". . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Destructeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Le mot clé this. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Méthodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 Déclaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7.2 Passages de paramètres par valeur . . . . . . . . . . . . . . . . . .8 Surcharge des méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Mécanisme des exceptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 3.9.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 3.9.2 Principe de fonctionnement des exceptions . . . . . . . . . . 1409.3 Prise en charge de plusieurs exceptions. . . . . . . . . . . . . . 150Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.10.1 Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.10.2 Conseils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 3.10.3 Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Les interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1561 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1562 Le contrat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1563 Déclaration d'une interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1574 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1595 NetBeans et les interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.6 Représentation UML d'une interface . . . . . . . . . . . . . . . . . . . . 1637 Interfaces et polymorphisme . . . . . . . . . . . . . . . . . . . . . . . . . . . 1638 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1648.1 Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1648.2 Conseils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1658.3 Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1689 Les interfaces de la machine virtuelle Java . . . . . . . . . . . . . . . . 172Association, composition et agrégation . . . . . . . . . . . . . . . . . . . . . . 175 5.1 Les tableaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 5.2 Les collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 5.2.1 ArrayList<E> et LinkedList<E> . . . . . . . . . . . . . . . . . . 193 5.2.2 Queue<T> et Stack<T> . . . . . . . . . . . . . . . . . . . . . . . . 196 5.2.3HashMap<K, V>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196Les "itérateurs" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1973 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 5.3.1 Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 5.3.2 Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200Les classes imbriquées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202Quelques différences avec le C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206Comprendre l'héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .héritière (sous-classe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Interdire l'héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Définir les membres héritables . . . . . . . . . . . . . . . . . . . . . . . . .3 Syntaxe de l'héritage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Exploitation d'une classe héritée . . . . . . . . . . . . . . . . . . . . . . . .1 Les constructeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .'héritier . . . . .3 Méthodes virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Méthodes de type "final" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Corrigé. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Les classes abstraites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Le polymorphisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Comprendre le polymorphisme . . . . . . . . . . . . . . . . . . . . . . . . .2 Exploitation du polymorphisme . . . . . . . . . . . . . . . . . . . . . . . .3 Les opérateurs instanceof et () . . . . . . . . . . . . . . . . . . . . . . . . . .L'événementiel : être à l'écoute . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Le pattern Observateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Implémentation en langage Java . . . . . . . . . . . . . . . . . . . . . . . .Les "listeners" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Utilisation d'un listener dans une application graphique . . . .Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 3.1 Exercice 1 : Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 3.2 Exercice 1 : Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 3.3 Exercice 2 : Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 3.4 Exercice 2 : Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255Appels synchrones, appels asynchrones . . . . . . . . . . . . . . . . . . . . . . 258Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261Comprendre le multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261Multithreading et Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264Implémentation des threads en Java . . . . . . . . . . . . . . . . . . . . . . . . . 265 4.1 Étendre la classe Thread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 4.2 Implémenter l'interface Runnable . . . . . . . . . . . . . . . . . . . . . . . 268S'endormir et S'attendre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 4.4 Abandon depuis le thread primaire . . . . . . . . . . . . . . . . . . . . . . 2725 Threads et classes anonymes . . . . . . . . . . . . . . . . . . . . . . . . . . . 2755.1 Avec l'interface Runnable . . . . . . . . . . . . . . . . . . . . . . . . 2755.2 Avec la classe Thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2765.3 Accès aux variables et aux données membres simplifié . . . . . . . . . . . . . . . . . 277Synchronisation entre threads. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 5.1 Nécessité de la synchronisation. . . . . . . . . . . . . . . . . . . . . . . . . 281 5.2 Les méthodes "synchronized" . . . . . . . . . . . . . . . . . . . . . . . . . . 283 5.3 Les traitements "synchronized" . . . . . . . . . . . . . . . . . . . . . . . . . 285 5.4 La classe Semaphore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286Communication interthread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 6.1 La méthode join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 6.2 Les objets de synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . 291Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 2'une même banque contiennent tous les mêmes para- mètres (coordonnées du détenteur, solde, etc.) et ils ont tous les mêmes fonc- tions (créditer, débiter, nous rappeler à l'ordre si besoin, etc.). Ces définitions doivent être contenues dans une classe et, à chaque fois qu'un client ouvre un nouveau compte, cette classe servira de modèle à la création du nouvel objet compte. Le présentoir de lecteurs de musiques numériques propose un même modèle en différentes couleurs, avec des tailles mémoires différentes et modulables, etc. Chaque appareil du présentoir est un objet qui a été fabriqué à partir des informations d'une seule classe. À la réalisation, les attributs de l'appareil ont été choisis en fonction de critères esthétiques et commerciaux décidés par des chefs produits très au fait des tendances d'achats des clients. Une classe peut contenir beaucoup d'attributs. Ils peuvent être de type primi- tif -des entiers, des caractères... -mais également de type plus complexe. En effet, une classe peut contenir une ou plusieurs classes d'autres types. On parle alors de composition ou encore de "couplage fort". Dans ce cas la destruction de la classe principale entraîne, évidemment, la destruction des classes qu'elle contient. Par exemple, si une classe hôtel contient une liste de chambres, la destruction de l'hôtel entraîne la destruction de ses chambres. Une classe peut faire "référence" à une autre classe ; dans ce cas, le couplage est dit "faible" et les objets peuvent vivre indépendamment. Par exemple, votre PC est relié à votre imprimante. Si votre PC rend l'âme, votre imprimante fonctionnera certainement avec votre futur PC ! On parle alors d'association. En plus de ses attributs, la classe contient également une série de "comporte- ments", c'est-à-dire une série de méthodes avec leurs signatures et leurs implé- mentations attachées. Ces méthodes appartiennent aux objets et sont utilisées telles quelles.View more
arrow_downward
- Features
- Mentions
- Analytics
- PDF Packages
- Advanced Search
- Search Alerts
- Journals
- Academia.edu Journals
- My submissions
- Reviewer Hub
- Why publish with us
- Testimonials
- Company
- About
- Careers
- Press
- Help Center
- Terms
- Privacy
- Copyright
- Content Policy

580 California St., Suite 400San Francisco, CA, 94104© 2026 Academia. All rights reserved