Vous êtes sur la page 1sur 3

Chapitre 2 Programmation orientée objet

1. Introduction à la notion d’objets

Le langage C++ est un langage de programmation à usage général, évolué et orienté objet dont la
syntaxe est basée sur celle du langage "C".
Orienté objet : Chaque fichier source contient la définition d’une ou plusieurs classes qui sont
utilisées les unes avec les autres pour former une application. C++ n’est pas complètement objet
car il définit des types primitifs (entier, caractère, flottant, booléen…). Donc le C++ permet de
mélanger programmation objet et programmation impérative classique. Ainsi, on parle juste de
"orientée" objet

2. Les classes

Une classe est une construction software définissant les données ou ce qu’on appelle "état" et les
méthodes des objets concrets construits à base de cette classe. Dans la terminologie C++, une
classe est construite de membres qui sont des champs et des méthodes. Les champs dans une
classe C++ sont les données de la classe alors que les méthodes sont les séquences d’instructions
opérantes sur ces données. En d'autres termes, une classe est définie par un ensemble d’attributs
qui décrivent la classe et un ensemble de méthodes décrivant les actions qu’une classe peut
effectuer. Donc une classe est un ensemble de données et de fonctions regroupées dans une
même entité. C'est une description abstraite d’un objet.
En résumé, une classe est un type de données dont le rôle est de rassembler sous un même nom à
la fois données et traitements. Les données attachées à une classe sont appelées attributs. Les
traitements attachés à une classe sont appelés méthodes.
Ainsi, un objet peut être défini comme étant une structure informatique caractérisé par un état
et un ensemble de méthodes exécutables par cet objet qui caractérise son comportement.

Objet = Etat + Comportement

 L'état d'un objet est la valeur de ses attributs c.à.d. les caractéristiques (les variables, les
attributs, propriétés ou les champs) de l’objet.
 Le comportement est l'ensemble de fonctions. Donc le comportement d’un objet est défini
par ses méthodes. Les méthodes manipulent les variables d’instances pour créer un état
nouveau de l’objet.

Module POO/C++ M1/AS Dr Kemmouche


3. Instance de classe ou objet

Un objet est une instance d'une classe (i.e., une variable dont le type est une classe). Un objet est
donc la réalisation effective d'une classe au même titre que la construction struct du C.
La syntaxe de déclaration d’une classe se fait en utilisant le mot clé class: class Nom_classe.
Donc la structure d’une classe :

class nom_classe
{
Déclaration des attributs ;
Déclaration des méthodes.
} ; /* suivie d'un point virgule. */

Ainsi la représentation graphique d’une classe (une fabrique d’objets logiciels)

Nom_classe

Signature var1
Signature var2

...

Signature varN

Signature méthode1
Signature méthode2

...

Signature méthodeM

Exemple : création d’une classe nommée "Test"

class Test
{
...
};

Test est un nouveau type. On peut désormais déclarer/définir des variables de ce type. En C++ la
déclaration d'un objet signifie sa création.
Pour déclarer une variable qu'on appelle par exemple mon-objet, on utilise la syntaxe habituelle
du C.
Test mon-objet ; // un nouvel objet appelé mon-objet de type Test

Module POO/C++ M1/AS Dr Kemmouche


mon-objet est une variable de type Test. Donc le nom du type de cette variable est le nom-
classe c.à.d. Test.
Les éléments constitutifs de la déclaration d'une classe sont:
 des champs
 variables d'instance, i.e. qui seront propres à chaque objet de cette classe.
 des méthodes
 les opérations à appliquer aux objets de la classe (des fonctions attachées aux
objets). En C++, la terminologie officielle est "fonction membre".

Exemple : création d’une classe Etudiant avec :


 Etat : matricule,
 Comportement : getMatricule ( ) et "setMatricule (int)"

La structure de la classe Etudiant est :

Etudiant

Matricule : int (c'est l'attribut)


getMatricule ( ) : int //une méthode qui retourne un int
setMatricule (int): void //une méthode sans retour mais qui a un argument de type int

 Le concept élémentaire de "Etudiant" pourrait revêtir la forme suivante:

class Etudiant
{
int matricule;
public:
int getMatricule ( );
void setMatricule (int Matri);
};

On a pas fourni de code à la méthode "getMatricule ( ) ni celui de "setMatricule(int)" (on ne


sait pas ce que font ces deux méthodes).
En fait la déclaration consiste à déclarer des éléments constitutifs des objets de la classe. Dans
cet exemple on sait qu'il y a un attribut matricule, une méthode getMatricule( ) et une méthode
"setMatricule(int)".
(à voir en détail en TP).

Module POO/C++ M1/AS Dr Kemmouche