Aller au contenu principal

Programmation Orientée Objets

Le cours de programmation orientée objet du semestre 7 utilise Java. Il part de l'encapsulation, des objets et des classes, passe à la substitution d'objets (polymorphisme et hiérarchies de classes), puis termine par deux mécanismes extérieurs au modèle objet, les exceptions et les types paramétrés. D'une séance à l'autre, les TD font évoluer une simulation de transports en commun (autobus et passagers). Le projet en reprend deux variantes de conception, l'une par héritage (est-un), l'autre par composition (a-un).

Notes de cours​

Cours8 pages

  • EncapsulationNotion d'encapsulation en programmation orientée objet : objet, classe et première description d'une encapsulation en Java.
  • ObjetsObjets en Java : identité, instanciation et constructeurs, références, envoi de messages, masquage d'information et méthodes communes de la classe Object.
  • ClassesClasses Java : catégories de classes, paquetages et classpath, portée des membres, variables et méthodes d'instance, surcharge, constructeurs et lien a-un.
  • Variables et méthodes de classeMembres static en Java : variables et méthodes de classe, bloc statique, import static, la classe java.lang.Class et l'introspection.
  • Substitution et polymorphismeSubstitution d'objets en Java : relation type / sous-type, lien est-un, construction interface, liaison statique et dynamique, polymorphisme.
  • Hiérarchie de classesHéritage en Java : lien est-un, héritage de classes et d'interfaces, protected, chaînage des constructeurs, redéfinition, classes abstraites et méthodes default de Java 8.
  • ExceptionsGestion d'erreurs par exceptions en Java : hiérarchie Throwable, throw, try/catch/finally, try-with-resources, clause throws et exceptions vérifiées.
  • Types paramétrésGénéricité en Java : conteneurs et cohérence de type, classes et méthodes paramétrées, effacement de type, bornes, invariance, covariance et contravariance avec les jokers.

Ressources​

Supports de l'enseignant2 documents

Sujets de TD8 documents

Code des TD11 documents

Rapports de TD7 documents

Projet1 document