Table des mati`eres
IPr´esentation du langage Java 17
1 Origines du langage 19
1.1 The network is the computer ..................... 19
1.2 Write once, run everywhere ...................... 19
1.3 Les racines du langage . . . . ..................... 19
1.4 Historique ................................ 20
1.4.1 Naissance............................ 20
1.4.2 Succ`es.............................. 20
2 Outillage et documentation 21
2.1 Compilateur............................... 22
2.1.1 Production de code ex´ecutable ............... 22
2.1.2 V´ericationsetoptimisations ................ 23
2.1.3 Directivesdecompilation .................. 23
2.1.4 CompilateursJavausuels .................. 23
2.2 Machinevirtuelle............................ 24
2.2.1 Chargement de bytecode ................... 24
2.2.2 Portabilit´edesprogrammesJava.............. 25
2.2.3 Gestion m´emoiredelaJVM................. 26
2.2.4 JVMusuelle .......................... 26
2.3 Frameworks de d´eveloppement.................... 26
2.3.1 D´enition............................ 26
2.3.2 APIJava ............................ 27
2.4 Environnements de d´eveloppement int´egr´e............. 27
2.5 Documentation............................. 27
II Fondements imp´eratifs de Java 29
3 Syntaxe ´
el´
ementaire du langage Java 31
6 Table des mati`eres
3.1 Commentaires.............................. 31
3.1.1 Commentaires sur une ou plusieurs lignes . . . . . . . . . 31
3.1.2 CommentairesJavadoc.................... 32
3.1.3 Annotations .......................... 33
3.2 Identiants ............................... 34
3.2.1 El´ements nomm´es....................... 34
3.2.2 Mots r´eserv´es.......................... 34
3.3 Types de donn´ees ........................... 35
3.3.1 Typesprimitifs......................... 35
3.3.2 Types structur´es........................ 39
3.4 D´eclarationetaectation....................... 40
3.4.1 D´eclaration........................... 40
3.4.2 Aectation ........................... 42
3.4.3 Valeursinitiales ........................ 42
3.5 Allocation de m´emoire......................... 43
3.5.1 Allocationstatique ...................... 43
3.5.2 Allocationdynamiquesurlapile .............. 44
3.5.3 Allocationdynamiquesurletas .............. 45
3.6 Expressions . .............................. 47
3.6.1 D´enitions ........................... 47
3.6.2 Op´erateurssurlesnombres ................. 48
3.6.3 Op´erateurs sur les bool´eens ................. 50
3.6.4 Op´erateurssurlesobjets................... 51
3.6.5 Op´erateurs sur des objets ou des valeurs primitives . . . 53
3.6.6 Op´erateurs sp´eciaux...................... 54
3.6.7 Priorit´e des op´erateurs .................... 59
3.7 Structures de contrˆole......................... 59
3.7.1 It´erations ............................ 59
3.7.2 Conditionnelles ........................ 62
3.7.3 Branchements ......................... 64
3.7.4 Exceptions ........................... 67
3.7.5 Assertions . . . ......................... 68
3.8 Chaˆınes de caract`eres ......................... 69
3.8.1 Classe String ......................... 69
3.8.2 Partage de chaˆınes ...................... 69
3.8.3 Op´erateur de concat´enation................. 71
3.8.4 Fonctionsdemanipulation.................. 71
3.8.5 Classes StringBuffer et StringBuilder .......... 74
3.9 Tableaux................................. 75
3.9.1 Tableau `aunedimension................... 75
Table des mati`eres 7
3.9.2 Tableau `a2dimensions.................... 78
3.9.3 Tableaux `andimensions................... 80
3.9.4 Fonctionsdemanipulation.................. 80
4 Programmer en Java quand on programme d´
ej`
aenC 87
4.1 ClasseJava ............................... 87
4.1.1 Unit´edeprogrammation................... 87
4.1.2 Unit´edecompilation ..................... 89
4.1.3 Unit´edex´ecution ....................... 91
4.2 ProgrammeCetclasseJava ..................... 94
4.2.1 Programme Tableaux ..................... 94
4.2.2 Compilation s´epar´ee ..................... 97
4.3 StructuresCetclasseJava...................... 99
4.3.1 Nombrescomplexes...................... 99
4.3.2 Int´egration des fonctions dans la structure . . . . . . . . 104
4.3.3 Pseudo-variable this .....................105
4.3.4 Constructeurs .........................107
4.3.5 Affichage avec toString ...................108
4.4 Packagesetarchives..........................109
4.4.1 PackagesJava .........................109
4.4.2 ArchivesJava .........................114
4.5 Structure de l’API et classes fondamentales . . . . . . . . ....117
4.5.1 Structure g´en´erale.......................118
4.5.2 Classe Object .........................118
4.5.3 Classes de types primitifs . . . . . . . . . .........119
4.5.4 Classes BigDecimal et BigInteger ............. 121
4.5.5 Classes utilitaires . . . . . ..................122
4.5.6 Fonctionnalit´es compl´ementaires ..............124
III Programmation Objet 127
5 Principes de conception objet 129
5.1 RudimentsdUML...........................129
5.1.1 Mod`eles.............................129
5.1.2 Pointsdevue..........................130
5.1.3 Diagrammes ..........................130
5.1.4 Programmes Java et diagrammes de classes UML . . . . 131
5.2 Objets .................................. 131
5.2.1 Vieetmortdunobjet .................... 131
5.2.2 Syst`emedobjets........................132
8 Table des mati`eres
5.2.3 Encapsulation de donn´ees et ´etat..............132
5.2.4 R´ef´erencedobjet .......................133
5.2.5 Interactionsetinterface ...................134
5.3 Classes et instanciation . . . . . . . . . ...............135
5.3.1 Instanciation..........................135
5.3.2 Attributs et m´ethodes ....................135
5.3.3 Introspection..........................137
5.4 H´eritage .................................137
5.4.1 Compl´ements et red´enitions ................137
5.4.2 Polymorphisme ........................138
5.4.3 PrincipedesubstitutiondeLiskov .............139
6 Programmation objet avec Java 143
6.1 D´eclarationdeclasse..........................143
6.1.1 H´eritageetmisesenœuvre .................143
6.1.2 Modicateursdeclasse....................144
6.1.3 Corpsdeclasse.........................146
6.2 D´eclarationdattribut.........................146
6.2.1 Acc`esauxattributs......................146
6.2.2 Modicateursdattributs...................147
6.3 D´eclaration de m´ethode........................148
6.3.1 Invocation d’une m´ethode ..................149
6.3.2 Pseudo-variablethis......................149
6.3.3 Modificateurs de m´ethodes.................. 151
6.3.4 Surcharge de m´ethodes....................153
6.3.5 M´ethodes `a nombre variable de param`etres........154
6.4 Visibilit´edesmembres.........................155
6.4.1 Application de l’op´erateurpoint ..............155
6.4.2 Niveaux d’acc`es ........................156
6.5 Membresstatiques...........................158
6.5.1 Attributstatique .......................158
6.5.2 M´ethodestatique .......................160
6.5.3 Importstatique ........................162
6.6 Codedinitialisationdesinstances..................163
6.6.1 Valeurs par d´efaut.......................164
6.6.2 Valeursinitialesexplicites ..................164
6.6.3 Blocsdinitialisation .....................164
6.6.4 Constructeurs .........................167
6.7 Classes d´eriv´ees.............................170
6.7.1 Hi´erarchie de classes . . . . . ................170
Table des mati`eres 9
6.7.2 Objetspolymorphes...................... 171
6.7.3 Acc`es aux membres des objets polymorphes . . . . . . . 172
6.7.4 H´eritage par d´efautdelaclasseObject ..........174
6.7.5 Masquagedattributs.....................175
6.7.6 Red´efinition de m´ethodes ..................177
6.7.7 Constructeurs de classes d´eriv´ees..............183
6.8 Classes enfouies .............................186
6.8.1 Classes internes . . . . . . . . . . . .............187
6.8.2 Classes encapsul´ees ......................189
6.8.3 Classes locales . . . . . . . . . . . . ............. 191
6.8.4 Classes anonymes . . . . . . . . ...............192
6.9 Interfaces ................................193
6.9.1 Interfaces et classes abstraites . . . . . . . .........193
6.9.2 Miseenœuvredesinterfaces ................194
6.9.3 M´ethodes statiques et m´ethodes par d´efaut........197
6.9.4 Bonusagedesinterfaces ...................200
6.9.5 Interfacesdobjets.......................203
6.9.6 Interfaces et h´eritagemultiple................203
6.10 M´ecanismes d’ex´ecution........................206
6.10.1 Chargementdynamique ...................206
6.10.2 Instanciation..........................209
6.10.3 Destructiondobjets ..................... 211
6.10.4 Lookupetliaisondynamique ................215
7 Bonnes pratiques de programmation 219
7.1 Int´erˆetdelaprogrammationobjet .................219
7.1.1 Programme C et types abstraits de donn´ees .......219
7.1.2 Programme Java et types abstraits de donn´ees...... 221
7.1.3 Programme Java et hi´erarchie de classes . . . . . . . . . 222
7.1.4 ´
EvolutiondesprogrammesCetJava ...........224
7.2 PrincipesSOLID............................226
7.2.1 Principe de responsabilit´eunique..............226
7.2.2 Principe ouvert/ferm´e ....................228
7.2.3 PrincipedesubstitutiondeLiskov .............229
7.2.4 Principe de s´egr´egationdesinterfaces ...........230
7.2.5 Principe d’inversion des d´ependances ...........232
7.3 Patronsdeconception.........................233
7.3.1 PatronsdeconceptionduGoF ...............234
7.3.2 Singleton ............................234
7.3.3 Composite ...........................236
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !