Retour accueil UPMCPhoto1 UPMCPhoto2 UPMC
UE: Programmation par objets
Site permanent

L'unité d'enseignement « Programmation par objets » est une UE de niveau (300) spécialisation relevant de la licence d'informatique. Elle possède un volume de 6 ECTS et s'étend sur 12 semaines. Elle est placée sous la responsabilité de Spathis, vassiliki.

Description

Cet enseignement vise à présenter les principes et les concepts de la programmation par objets : - Illustrer l'implantation des différents concepts objets en Java - Indiquer l'implantation des concepts objets sur plusieurs langages par objets (C++, Smalltalk, O'caml). - Montrer les différences entre la programmation impérative-fonctionnelle et par objets. Montrer les bases de la programmation des interfaces graphiques en Java. - Notion de composant. - Principes de la programmation événementielle. - Réalisation sur le Web.

L'objectif du cours est de former les étudiants à la programmation orientée objets au travers du langage Java. A l'issue de ce cours, ils doivent être capables de concevoir et réaliser des programmes de taille moyenne en Java, en couvrant tous les aspects de base spécifiques à ce langage ( gestion de l'héritage, des exceptions, des threads, des interfaces graphiques, etc. )

Préalables et buts pédagogiques

Bibliographie

  • "Java en action", Ian F. Darwin, Ed. O'Reilly, 2002 4e édition

  • "Java Client-Serveur", Cédric Nicolas & Christophe Avare & Frédéric Najman, Ed. Eyrolles, 1998

  • "Java Enterprise in a Nutshell", David Flanagan & Jim Farley & William Crawford & Kris Magnusson, Ed. O'Reilly, 2001

  • "Le dictionnaire officiel Java 2", Patrick Chan, Ed. Eyrolles, 1999

Contenu indicatif par semaine

  1. Introduction générale : Notion d'objet et envoi de messages. Classes et instances. Comparaison avec la programmation impérative et fonctionnelle.

  2. Représentation en mémoire des pointeurs sur objet. Construction simple, construction de copies. Membres de classe et d'instance. Packages, visibilité, encapsulation, classes locales.

  3. Héritage simple et multiple. Réutilisation par composition et par héritage.

  4. Classes abstraites et Interfaces. Polymorphisme, résolution de la surcharge.

  5. Gestion d'exceptions. Fichiers et persistance.

  6. Réflexivité. Introspection. Classes génériques.

  7. Threads.

  8. Applets et Awt.

  9. Modèle MVC et gestion des événements. Programmation d'interfaces graphiques avec Swing.

  10. Aperçu des solutions pour la communication (Sockets, RMI).

  11. Gestion mémoire. Algorithmes de récupération automatique de mémoire. La méthode finalize.

  12. Comparaison avec d'autres langages : Smalltalk, O'Caml, C++, C#