Post on 08-Feb-2022
12020-2021 Thibault Carron - IUT MMI 2
Algorithmique Programmation
Année 2
Conception/Programmation Orientée Objet
Java vs PHP
22018-2019 Thibault Carron - DUT MMI 2
Plan du cours
Rappels d’algorithmique programmation
L’approche et la programmation orientée objet
Le langage Java : Vers la « programmation
orientée objet » // avec PHP Objet
3 CM, 3 TD, 7 TP
Objectif: Savoir concevoir et réaliser un programme
simple (4 à 10 classes), interactif, « standalone ».
Méthode: Réaliser un petit jeu progressivement en 5 TP avec
l’accompagnement de l’enseignant.
Evaluation: TP4 noté en séance, TP7 rendu final + 1 examen
théorique final
3
Rappels
Définitions: Algorithme: spécification précise et non ambiguë d’une
séquence d’étapes pouvant être exécutées de façon automatique permettant de résoudre un problème.
Programmation: action de coder un ou plusieurs algorithmes dans un langage de programmation; c’est-à-dire capable d’être compris par un ordinateur.
Programmation « classique » (itérative) Données et Procédures sont traitées indépendamment.
Elles sont clairement séparées lors de l’écriture du programme.
2020-2021Thibault Carron - IUT MMI 2
4
Programmation classique
Inconvénients:
Il n’est pas tenu compte des relations étroites
pouvant exister entre les procédures et les
données.
Il est difficile de spécifier des relations entre
les données elles-mêmes.
La réutilisabilité des procédures écrites
suppose que les types de données restent
inchangés d’un programme à l’autre.
2020-2021Thibault Carron - IUT MMI 2
5
Approche Orientée Objet
Pourquoi ce nom?
Cette approche est centrée sur les données:
la décomposition d’un programme n’est plus
effectuée en termes fonctionnels, mais en
termes structurels.
Les données sont considérées comme un
ensemble d’entités informatiques autonomes
qui interagissent et communiquent entre elles.
On leur a donné le nom d’objets.
2020-2021Thibault Carron - IUT MMI 2
6
Les Objets
Ces objets ne sont plus passifs : ils possèdent à la fois une partie statique et une partie dynamique (partie données et partie procédure).
Un programme est alors constitué de plusieurs objets qui interagissent entre eux en s’envoyant des messages.
2020-2021Thibault Carron - IUT MMI 2
7
Les Objets
données
méthodes (procédures, fonctions)
2020-2021Thibault Carron - IUT MMI 2
8
Programmation Objet
4 notions essentielles: Modélisation (Classes, Instances)
Activation (Méthodes, Messages)
Encapsulation
Héritage (construction par affinage)
Ces notions sont simples et permettent d’obtenir une organisation des programmes proches de la réalité.
Leur combinaison permet d’obtenir une très grande puissance d’expression.
2020-2021Thibault Carron - IUT MMI 2
9
Modélisation (1)
« Penser en termes d’objets »
Exemple en se penchant sur un problème de modélisation.
Problème:
Représenter et classer un ensemble d’objets
pour se déplacer.
2020-2021Thibault Carron - IUT MMI 2
10
Modélisation (2)
La programmation orientée objets (POO) repose
sur la modélisation : il s’agit de transcrire sous
forme d’objets les entités que l’on souhaite
manipuler dans son programme.
Exemple: un programme écrit pour résoudre un
problème comprenant trois cubes nécessitera la
création de trois objets « cubes »:
2020-2021Thibault Carron - IUT MMI 2
11
Modélisation (3)
Objet= partie statique + partie dynamique
Partie statique: son état et les liens qu’il a
avec d’autres objets.
Partie dynamique: son comportement,
l’ensemble des opérations qui peuvent lui être
appliquées.
2020-2021Thibault Carron - IUT MMI 2
12
Modélisation (4)
Plusieurs des objets définis dans un programme sont susceptibles d’avoir une structure et des comportements communs (exemple: les cubes).
Afin de pouvoir les créer plus facilement et les regrouper à l’aide d’un modèle général, le concept de « Classe » a été défini.
2020-2021Thibault Carron - IUT MMI 2
Suite sur Cours 2
132002-2003 Thibault Carron - IUT SRC 2