Semaine
|
MATIÈRE
|
1
|
|
2 - 4
|
- Introduction aux classes (attributs à accès privé) et aux objets;
- Valeurs vs références;
- Les paquetages (package et import);
- Survol des packages java.lang et java.util de Java;
- Classes de Java : String, Arrays et Math;
- Les chaînes de caractères;
- Les API de Java et utilisation de classes existantes;
- Tris (à bulles, par sélection, par insertion);
- Recherches/fouilles (séquentielle, binaire et séquentielle indexée);
- Encapsulation;
- Méthodes d'accès (accesseurs et mutateurs) et d'instances;
- Tableaux d'objets;
- Constructeurs;
- Surcharge;
- Conversion d'objets en chaînes de caractères;
- Comparaison d'objets (test d'égalité - equals())
- Référence this;
- Attributs et méthodes de classes (static);
- Agrégation/composition;
- Documentation du code et commentaires Javadoc.
|
Examen Intra 1 |
Contenu des semaines 1 à 4 |
6 - 8
|
- Vecteurs (ArrayList et Vector);
- Notion de classe générique;
- Classes enveloppes (wrappers) et conversion automatique (autoboxing et unboxing);
- Itérateurs de listes (ListIterator);
- Types de données abstraits (piles, files, listes), implémentation statique. Stragégies de gestion (LIFO et FIFO);
- Classes internes (inner class);
- Cadre de collection (LinkedList, Stack, Queue,...);
- Chainage;
- Types de données abstraits (piles, files, listes), implémentation dynamique avec chainages simple et double;
- Implémentation d'un itérateur (exemple).
- Héritage par extension :
- Définition et utilité;
- Syntaxe (extends);
- Accès protégé (protected);
- Appel aux constructeurs et aux méthodes de la classe mère (super);
- Hiérarchies d'héritage;
- Généralisation et spécialisation;
- Héritage vs agrégation/composition (isA vs hasA);
- Héritage simple vs héritage multiple;
- Polymorphisme :
- Définition;
- Surcharge (overload);
- Redéfinition (override);
- Méthodes virtuelles et liaison dynamique (late binding);
- Méthodes non polymorphiques;
- Méthodes et classes abstraites (abstract);
- Méthodes et classes finales (final);
- Exemple d'application de l'héritage et du polymorphisme : les graphismes (classe Graphics);
- Introduction aux enregistrements (attributs à accès public).
|
Examen Intra 2
|
Contenu des semaines 1 à 8
|
10-13
|
- Gestion des erreurs et des exceptions;
- Clonage et constructeurs de copies;
- Interfaces (interface) :
- Définition et utilité;
- Implémentation;
- Propriétés.
- Notion d'interface générique;
- Application des interfaces aux tris et aux recherches :
- Test d'inégalité, ordre naturel et comparaison d'objets (interface Comparable);
- Comparateurs (interface Comparator);
- Méthodes de tri et de recherche binaire (méthodes des classes Arrays et Collections);
- Notion de programmation par contrats.
- Appels entre constructeurs d'une même classe (this());
- Finalisation de la destruction d'objets (finalize());
- Ramasse-miettes;
- Types énumérés (enum);
- Blocs d'initialisation statique;
- Exemple de définition de classes et d'interfaces génériques : implémentation d'un itérateur;
- Exemple de mise en oeuvre : la programmation graphique avec Swing
- Composants Swing : JFrame, JPanel, JButton JTextField, JMenu, JList, ...;
- Boites de dialogue (JOptionPane);
- Gestion de disposition (Layout Manager) : BorderLayout, FlowLayout, GridLayout;
- Gestion d’évènements : modèle de délégation, interfaces écouteurs (listeners);
- Précautions (threads et Swing, SwingUtilities.invokeLater())
- Complément (non évalué) :
- Architecture MVC (introduction);
- Patron observer (exemple);
|
Examen final
|
Contenu de toute la session.
|