Algorithmique Programmation Année 2

13
1 2020-2021 Thibault Carron - IUT MMI 2 Algorithmique Programmation Année 2 Conception/Programmation Orientée Objet Java vs PHP

Transcript of Algorithmique Programmation Année 2

Page 1: Algorithmique Programmation Année 2

12020-2021 Thibault Carron - IUT MMI 2

Algorithmique Programmation

Année 2

Conception/Programmation Orientée Objet

Java vs PHP

Page 2: Algorithmique Programmation Année 2

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

Page 3: Algorithmique Programmation Année 2

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

Page 4: Algorithmique Programmation Année 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

Page 5: Algorithmique Programmation Année 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

Page 6: Algorithmique Programmation Année 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

Page 7: Algorithmique Programmation Année 2

7

Les Objets

données

méthodes (procédures, fonctions)

2020-2021Thibault Carron - IUT MMI 2

Page 8: Algorithmique Programmation Année 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

Page 9: Algorithmique Programmation Année 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

Page 10: Algorithmique Programmation Année 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

Page 11: Algorithmique Programmation Année 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

Page 12: Algorithmique Programmation Année 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

Page 13: Algorithmique Programmation Année 2

Suite sur Cours 2

132002-2003 Thibault Carron - IUT SRC 2