(PDF) Programmation Orientée Objet Avec Le Langage Java (avec ...

Academia.eduAcademia.eduLog 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ésinfo

Info

keyboard_arrow_downkeyboard_arrow_upmwafrika josuemwafrika josuemwafrika josuedownloadDownload PDFdescriptionSee full PDFvisibility

6.83K

views

Related papers

arrow_back_iosProgrammation Orientée Objet en JavaDjelloul BouchihadownloadDownload free PDFProgrammation Orientée ObjetIsmail CharitdownloadDownload free PDFIntroduction à la Programmation Orientée Objetjj dddownloadDownload free PDFQuestions piège sur la Programmation Orientée Objet -JAVA -Partie 1Célestin COMPAOREdownloadDownload free PDFConception et Programmation Orienté Objet Plan du cours CPOOSellemi EmnadownloadDownload free PDFProgrammez en orienté objet en PHPTrabelsi AnwerdownloadDownload free PDFLa programmation orientée objet - 4e édition : Cours et exercices en UML2Abir RachdownloadDownload free PDFProgrammation Orientée Émotion (EOP)Kévin Darty, N. SabouretdownloadDownload free PDFProgrammer pour s’orienter, s’orienter pour programmer....Gaëtan TempermandownloadDownload free PDFI - Objets pour la Programmation Concurrente et RépartieJean-Pierre BriotdownloadDownload free PDFCours d'Objet C++ Notions avancéesmoussa92 moussa92downloadDownload free PDFProgrammation parallèle orientée objet et réutilisabilité appliquée à l'algèbre linéaireEric NoularddownloadDownload free PDFApprentissage du langage Java par Serge TahéPompidou PompidoudownloadDownload free PDFarrow_forward_iosView more paperskeyboard_arrow_down

Abstract

closeTitleReferences1 of 14format_list_bulletedOutlinebookmark_borderSave shareShare

Download research papers for free!

Join us!arrow_forward

Related papers

Ecole Nationale d'Ingénieurs de Brest Programmation Orientée Objet (UML

Mar YoumadownloadDownload free PDF

Initiation à la programmation objet avec Java

Ex DoradodownloadDownload free PDF

Alice, Greenfoot et Prog&Play ou Comment Apprendre la Programmation Orientée-Objet par le Jeu

Adélaïde ALBOUY-KISSIdownloadDownload free PDF

POP-Java: Parallélisme et distribution orienté objet

Pierre KuonendownloadDownload 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ïsedownloadDownload 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 . . . . . . . . . . . . . . . . . . . . . 23
  • 2.1 Diagrammes de cas d'utilisation . . . . . . . . . . . . . . . . . . . . 26
  • 2.2 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
  • 2.3 Les énumérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
  • 2.4 Diagrammes de séquences . . . . . . . . . . . . . . . . . . . . . . . . . 34
  • Codage, intégration et mise en production. . . . . . . . . . . . . . . . . 36 Chapitre 3 Introduction à la plate-forme Java
  • Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
  • Environnement d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
  • Une librairie très complète. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
  • Des outils de développement performants . . . . . . . . . . . . . . . . . . . . . 43
  • Téléchargement puis installation de NetBeans . . . . . . . . . . . . . . . . . 43
  • L'incontournable Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
  • Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
  • Les types "primitifs" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
  • Les types "référence" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
  • Pour nous aider... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
  • La 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 . . . . . . . . . . . . . . . . . . . 71
  • 6 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 . . . . . . . . . . 140
  • 9.3 Prise en charge de plusieurs exceptions. . . . . . . . . . . . . . 150
  • Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.10.1 Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 3.10.2 Conseils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 3.10.3 Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
  • Les interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
  • 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
  • 2 Le contrat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
  • 3 Déclaration d'une interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
  • 4 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
  • 5 NetBeans et les interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.6 Représentation UML d'une interface . . . . . . . . . . . . . . . . . . . . 163
  • 7 Interfaces et polymorphisme . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
  • 8 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
  • 8.1 Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
  • 8.2 Conseils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
  • 8.3 Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
  • 9 Les interfaces de la machine virtuelle Java . . . . . . . . . . . . . . . . 172
  • Association, 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.3
  • HashMap<K, V>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
  • Les "itérateurs" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
  • 3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 5.3.1 Énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 5.3.2 Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
  • Les classes imbriquées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
  • Quelques différences avec le C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
  • Comprendre 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
  • Appels synchrones, appels asynchrones . . . . . . . . . . . . . . . . . . . . . . 258
  • Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
  • Comprendre le multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
  • Multithreading et Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
  • Implémentation des threads en Java . . . . . . . . . . . . . . . . . . . . . . . . . 265 4.1 Étendre la classe Thread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 4.2 Implémenter l'interface Runnable . . . . . . . . . . . . . . . . . . . . . . . 268
  • S'endormir et S'attendre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 4.4 Abandon depuis le thread primaire . . . . . . . . . . . . . . . . . . . . . . 272
  • 5 Threads et classes anonymes . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
  • 5.1 Avec l'interface Runnable . . . . . . . . . . . . . . . . . . . . . . . . 275
  • 5.2 Avec la classe Thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
  • 5.3 Accès aux variables et aux données membres simplifié . . . . . . . . . . . . . . . . . 277
  • Synchronisation 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
  • Communication interthread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 6.1 La méthode join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 6.2 Les objets de synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . 291
  • Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • 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 morearrow_downwardAcademia
    • Explore
    • Papers
    • Topics
    • 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
    Academia580 California St., Suite 400San Francisco, CA, 94104© 2026 Academia. All rights reserved

    Tag » Apprendre La Programmation Orientée Objet Avec Le Langage Java Pdf