Vous êtes sur la page 1sur 22

Classes et Objets

Types de données abstraits, programmation orientée objet.

DR. YOUSSEF ELMIR ELMIR@ESTIN.DZ


Évolution de la programmation

2
Programmation séquentielle :

DONNÉES
Les instructions sont exécutées
de façon linéaire.

Les données sont globales


et aucune réutilisation du
code n’est réalisée.

Programme Programme Programme


Évolution de la programmation

3
Programmation procédurale :

DONNÉES
Il s’agit de découper un programme
en une série de fonctions lesquelles
ont pour but de réaliser un traitement
particulier.
On procède à un découpage du
traitement mais les données restent
globales.
Évolution de la programmation

4
Programmation orientée objet :

DONNÉES DONNÉES
Il s’agit de regrouper l’ensemble ...
des données et les traitements
qui s’appliquent à ces données.
... ...
On procède à un découpage
naturel des données et du traitement des données.
Évolution de la programmation

Programmation orientée objets


Buts: • améliorer la réutilisation des outils existants
• favoriser la spécialisation de ces mêmes outils.
• s’éloigner de la machine et se rapprocher du problème à résoudre.
• développer une approche mieux adaptée à la résolution de problèmes.
5
• Nouvelle façon de penser la décomposition de problèmes et
l’élaboration de solutions.
Évolution de la programmation

Le concept de classe permet de définir les types de données abstraits

Défn.: Type de donnée défini par un programmeur et manipulé comme un type


de donnée de base du langage (int, long, float, …).

Un type de donnée abstrait peut être implanté à l’aide de la notion de classe.


Chaque instance d’une classe est un objet de la classe ou une variable de ce type
de donnée.

Peu ou pas de variables globales : permet une meilleure protection des


données.
Évolution de la programmation

Le concept de classe permet d’établir cette relation données – traitement.

Il n’est pas essentiel pour appliquer les principes de la programmation orientée


objet mais facilite grandement la tâche du programmeur.
Classes et Objets
8

 La notion de classe

 Une classe peut être considérée comme un moule ou un modèle à


partir duquel on peut créer des objets.

 Un ensemble d’objets ayant les mêmes caractéristiques et les mêmes


comportements appartient à la même classe

 Toutes les voitures appartiennent à la classe voiture

 Tous les étudiants appartiennent à la classe étudiant

 Une classe ne peut pas être utilisée pour exécuter des programmes.
Pour cela il faut l’instancier (créer des objets)

 La classe sert simplement à décrire la structure des objets (leurs


attributs et leurs méthodes)
Classes et Objets
9

 La notion de classe

 Exemple: Classe Point

 Supposons qu’un point est représenté par


deux coordonnées
entières: abscisse et ordonnée.

 Nous devons donc définir deux attributs


dans la classe Point

 X
 Y
Classes et Objets
10

 La notion de classe

 Exemple: Classe Point

 Supposons que nous souhaitons pouvoir:

 Initialiser les coordonnées d’un point


 Déplacer ce point dans le plan
 Afficher les coordonnées de ce point

 Nous devons donc disposer de trois méthodes


dans la classe Point

 Initialiser
 Déplacer
 afficher
Classes et Objets
11

 Définition d’une classe Point (code en Java)

 Le canevas général de définition d’une classe en Java est

 class Point
{
// instructions de définition des champs
 private int x; // abscisse
private int y; // ordonnée

// instructions de définition des méthodes de la classe

public void initialiser (int absc, int ord)


{x = absc;
y = ord;
}

public void deplacer (int dx, int dy)


{x = x + dx;
y = y + dy;
}

public void afficher()


{
System.out.println("je suis un point de coordonnées:"+x+" "+y);
}
}
Classes et Objets
12

 Définition d’une classe Point (code en Java)


Classes et Objets
13

 Définition d’une classe Point (code en Java)


 Conventions d’utilisation

 Les noms de classes commencent par une majuscule (ce sont les seuls
avec les constantes) :
• Cercle, Object

 Les mots contenus dans un identificateur commencent par une


majuscule :
• uneClasse, uneMethode, uneAutreVariable

 Les constantes sont en majuscules et les mots sont séparés par le


caractère souligné « _ » :
• UNE_CONSTANTE

 - Si possible, des noms pour les classes et des verbes pour les méthode
Classes et Objets
14

 La notion d’objet

 Les objets sont les moulages fabriqués à partir de la


classe.

 Un objet d’une classe est aussi appelé instance de cette


classe.

 Une fois qu’on a la classe, on peut créer autant d’objets


(instances) que l’on veut.
Classes et Objets
15

 La notion d’objet

 Ces objets auront:

 Des identités différentes.

 Des états définis par les mêmes attributs mais avec des valeurs
pouvant être différentes.

 Un comportement identique (Mêmes méthodes)


Classes et Objets
16

 Classe = Moule = modèle

 Décrit la structure de l’état (les attributs et leurs types)

 définit le comportement de l’objet (ses méthodes) et son


interface (les envois de messages acceptés par l’objet)

 instance = moulage = objet

 Possède un état (valeurs d’attributs) qui correspond à la


structure décrite par la classe

 Ne répond qu’aux envois de messages autorisés par la


classe (interface)
Classes et Objets
17

 classe : abstrait

 Il n’y a aucun étudiant qui s’appelle « étudiant »

 instance : concret

 L’étudiant « Halimi Amina née le 17 03 1990 »


Classes et Objets
18

 Créaton d’un objet

 Pour créer un nouvel objet, nous devons lui allouer de l’espace


mémoire.

 Chaque objet aura son espace où seront stockées les valeurs de ses
attributs

 Si nous créons 1000 objets de type Point, nous aurons 1000


emplacements pour la variable x et 1000 emplacements pour la
variable y.

 Les méthodes ne sont quant à elles pas dupliquées (inutile)


Classes et Objets
19

 Exemple: la classe Point


 JAVA

 Python
Classes et Objets
20

 Exemple: la classe Point

 Pour créer un emplacement pour l’objet lui-même, il faut utiliser le mot


clé new

a = new Point();

a = Point()

 Dans cette instruction, l’opérateur new crée un objet de type point et


fournit sa référence.

 Celle-ci est affectée à la variable a déclarée auparavant.

 De plus, il initialise les attributs x et y aux valeurs 2 et 5 respectivement.


Classes et Objets
21

 Exemple: la classe Point

 On peut créer des objets de la classe Point et leur appliquer à volonté


les méthodes publiques initialiser, déplacer et afficher

 Avant de créer un objet, il faut d’abord le déclarer.

Point a;

 Cette déclaration ne réserve pas d’emplacement pour un objet de type


Point, mais seulement un emplacement pour une référence à un objet
de type Point.
Classes et Objets
22

 Exemple de la classe Point

Vous aimerez peut-être aussi