Semestre 4 – Bases de la programmation objet

Objectif

L’objectif principal de cette UE est d’acquérir les bases du paradigme orienté objet, bases communes à l’ensemble des langages de programmation objet. Outre l’étude des concepts principaux des langages, le cours contient une présentation des notations élémentaires d’UML, c’est-à-dire réduites aux éléments indispensables pour modéliser les exercices d’application.

Prérequis

  • Algorithmique et programmation 1 du semestre 1.
  • Algorithmique et programmation 2 du semestre 2.
  • Algorithmique et programmation 3 du semestre 3.
  • Programmation avancée du semestre 3.

Contenu pédagogique de l’UE

Définition du paradigme objet (Abstraction, Encapsulation, Modularité, Hiérarchisation).

Limites des langages impératifs (comme C) par rapport au paradigme objet.

La classe :

  • Généralités (abstraction)
  • Données membres
  • Fonctions membres [ou méthodes ou opérations] (déclaration, passage de paramètres,…)
  • Public vs Privé (encapsulation)
  • Représentation UML d’une classe (diagramme de classe)
  • Constructeur
  • L’objet implicite ‘this’
  • Instanciation, objet, invocation des membres
  • Conception standard d’une classe en Java (constructeur, getter et setter, toString, equals)
  • Les packages (modularité)
  • Représentation UML des relations entre classes et entre paquets

L’héritage :

  • Principe de base
  • Retour sur l’encapsulation
  • Polymorphisme
  • Liaison dynamique
  • Classes abstraites, fonctions abstraites, concept d’interface
  • La classe Object
  • Représentation UML de l’héritage

Les exceptions.