M01 : Programmation avancée - Jean-François Berdjugin 2012-2013

M01 : Programmation avancée
Jean-François Berdjugin
M01 : Programmation avancée
Jean-François Berdjugin
Publication date 2013
iii
Table of Contents
1. Présentation .............................................................................................................................. 1
1. Présentation des séances ..................................................................................................... 1
2. Types primitifs, instructions, tableaux et sous-programmes ................................................................ 2
1. Le premier programme (Hello World) ................................................................................... 2
2. Les commentaires et la javadoc ........................................................................................... 3
3. Les types primitifs ............................................................................................................. 3
4. Les instructions ................................................................................................................. 4
4.1. L'affectation ........................................................................................................... 4
4.2. Les conditionnelles ................................................................................................. 4
4.3. Les boucles ............................................................................................................ 5
4.4. Les tableaux .......................................................................................................... 6
4.4.1. Déclaration .................................................................................................. 6
4.4.2. Instanciation (ou construction) ........................................................................ 6
4.4.3. Accès aux données ....................................................................................... 6
4.4.4. Exemples .................................................................................................... 8
4.4.5. Exercice ...................................................................................................... 8
5. Les sous-programmes ......................................................................................................... 8
5.1. Méthode statiques ................................................................................................... 9
3. Classes et objets ...................................................................................................................... 10
1. Cours ............................................................................................................................ 10
1.1. Définitions ........................................................................................................... 10
1.2. Exemple .............................................................................................................. 10
1.2.1. Point ........................................................................................................ 10
2. Exercices ........................................................................................................................ 17
2.1. Mise en place de l'espace de travail .......................................................................... 17
2.2. Utilisation d'une API ............................................................................................. 18
2.2.1. Application Programming Interface ................................................................ 18
2.2.2. Vehicule .................................................................................................... 19
2.2.3. Point ........................................................................................................ 20
2.2.4. String et StringBuffer .................................................................................. 20
2.2.5. Date ......................................................................................................... 21
2.3. Création d'une classe ............................................................................................. 22
2.3.1. Point ........................................................................................................ 22
2.3.2. Personne ................................................................................................... 23
2.4. Variables de classe ................................................................................................ 23
2.4.1. Rappels ..................................................................................................... 23
2.4.2. Classe CompteBancaire ................................................................................ 25
4. Collaborations entre classes ....................................................................................................... 26
1. Classes/Association Les bases ............................................................................................ 26
1.1. Cours et exemples ................................................................................................. 26
1.1.1. La classe ................................................................................................... 26
1.1.2. L'association .............................................................................................. 27
1.1.3. Les multiplicités ......................................................................................... 28
1.1.4. L'agrégation ............................................................................................... 28
1.1.5. La composition ........................................................................................... 29
1.2. Exercices ............................................................................................................. 29
1.2.1. Diagramme de classe d'une maison ................................................................ 29
1.2.2. La voiture ................................................................................................. 29
2. Classes/Association Le détail (Facultatif) ............................................................................. 29
2.1. Cours et exemples ................................................................................................. 29
2.1.1. Les stéréotypes d'association ......................................................................... 30
2.1.2. Les classes internes ..................................................................................... 30
2.2. Exercices ............................................................................................................. 31
2.2.1. stéréotype d'association ................................................................................ 31
2.2.2. Classe interne ............................................................................................. 31
M01 : Programmation avancée
iv
3. Exercices machine ........................................................................................................... 31
3.1. Communication entre objets .................................................................................... 31
3.1.1. Les classes d'origine .................................................................................... 31
3.1.2. Association simple ...................................................................................... 32
3.1.3. Agrégation (partagée) .................................................................................. 33
3.1.4. La composition ........................................................................................... 34
5. Héritage, classes abstraites, interfaces et polymorphisme ................................................................. 37
1. Cours et exemples ........................................................................................................... 37
1.1. Héritage ............................................................................................................... 37
1.2. Classe abstraite ..................................................................................................... 38
1.3. Interface .............................................................................................................. 39
1.4. Polymorphisme ..................................................................................................... 40
2. Exercices papier .............................................................................................................. 41
2.1. Diagramme de classe UML ..................................................................................... 43
2.2. Syntaxe et visibilité ............................................................................................... 43
2.3. Classe et interface ................................................................................................. 43
2.4. Création d'objets ................................................................................................... 43
2.5. Exécution de code ................................................................................................. 43
2.6. Surcharge redéfinition ............................................................................................ 44
2.7. Exécution de code ................................................................................................. 44
2.8. Utilisation d'une interface ....................................................................................... 44
2.9. Polymorphisme ..................................................................................................... 44
2.10. Polymorphisme ................................................................................................... 44
3. Exercices machine ........................................................................................................... 45
3.1. Héritage, classe abstraite, interface, polymorphisme ..................................................... 45
3.1.1. Héritage .................................................................................................... 45
3.1.2. Classe abstraite et interface ........................................................................... 46
3.1.3. Polymorphisme ........................................................................................... 47
3.2. Mis en oeuvre avec SWING ................................................................................... 48
6. Exceptions .............................................................................................................................. 50
1. Cours ............................................................................................................................ 50
1.1. La définition des exceptions .................................................................................... 50
1.2. Le lancement d'une exception .................................................................................. 50
1.3. La capture ou rattrapage de l'exception ...................................................................... 50
2. Exercice ......................................................................................................................... 51
2.1. Création de l'exception ........................................................................................... 51
2.2. Le lancement de l'exception .................................................................................... 51
2.3. Capture de l'exception ............................................................................................ 51
7. Généricité ou polymorphisme paramétrique .................................................................................. 52
1. Cours ............................................................................................................................ 52
1.1. Les limites du polymorphisme ................................................................................. 52
1.2. La généricité en java ............................................................................................. 52
1.3. Généricité et sous-typage ........................................................................................ 53
1.4. Généricité contrainte .............................................................................................. 54
1.5. Les jokers ............................................................................................................ 54
2. Exercices ........................................................................................................................ 54
2.1. La classe générique Promo ..................................................................................... 54
2.2. La classe PersonnePlus ........................................................................................... 55
2.3. Tester la promo ..................................................................................................... 55
8. Annotations et Java Persistance API ........................................................................................... 56
1. Présentation de Java Persistence API ................................................................................... 56
2. Mise en oeuvre ............................................................................................................... 57
2.1. Création de la base donnée ..................................................................................... 57
2.2. Configuration de netbeans ....................................................................................... 58
2.3. Création des entités ............................................................................................... 58
2.4. Programme te test ................................................................................................. 60
v
List of Figures
2.1. Déclaration d'un tableau ........................................................................................................... 6
2.2. Construction d'un tableau ......................................................................................................... 6
2.3. Accès aux éléments d'un tableau ................................................................................................ 7
2.4. Dépassement des bornes .......................................................................................................... 7
2.5. Alias ..................................................................................................................................... 8
3.1. Diagramme de classe de Point ................................................................................................. 11
3.2. Teste d'un point .................................................................................................................... 12
3.3. Diagramme des séquences ...................................................................................................... 13
3.4. Workspace ........................................................................................................................... 17
3.5. Classe véhicule ..................................................................................................................... 19
3.6. Classe Point ......................................................................................................................... 20
3.7. Classe Point ......................................................................................................................... 22
3.8. Classe Personne .................................................................................................................... 23
3.9. Comptebancaire .................................................................................................................... 25
4.1. Classe vide .......................................................................................................................... 26
4.2. Classe avec trois compartiments .............................................................................................. 27
4.3. Association simple ................................................................................................................ 27
4.4. Association avec multiplicité ................................................................................................... 28
4.5. Agrégation ........................................................................................................................... 28
4.6. Composition ......................................................................................................................... 29
4.7. Stéréotypes d'association ........................................................................................................ 30
4.8. Classes imbriquées ................................................................................................................ 30
4.9. Classe isolées ....................................................................................................................... 32
4.10. Association simple ............................................................................................................... 33
4.11. Agrégation partagée ............................................................................................................. 34
4.12. Agrégation de composition .................................................................................................... 35
4.13. Diagramme de classe complet ................................................................................................ 36
5.1. Héritage ............................................................................................................................... 37
5.2. Chaînage des constructeurs ..................................................................................................... 38
5.3. Classe Abstraite .................................................................................................................... 38
5.4. Interface .............................................................................................................................. 40
5.5. Polymorphisme ..................................................................................................................... 41
5.6. Arbre d'héritage .................................................................................................................... 46
5.7. Interface .............................................................................................................................. 47
6.1. Exceptions ........................................................................................................................... 50
7.1. Paire ................................................................................................................................... 52
7.2. Paire2 ................................................................................................................................. 53
7.3. Promo ................................................................................................................................. 54
7.4. PersonnePlus ........................................................................................................................ 55
8.1. Relations entre les différents concepts de la JPA ......................................................................... 56
8.2. MLD de tpdb ....................................................................................................................... 57
1 / 66 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 !