Programmation orientée objet

Programming, Computer Science · course

Voir tous les documents en programmation

Programmation orientée objet

Chapitre 3 :

Concepts de base de la programmation orientée objet

1. Structure d’un programme orienté objet

Un programme orienté objet est constitué d’un ensemble d’objets, qui portent des propriétés (données)

et échangent des messages (données) entre eux. La programmation orientée-objet propose une

méthodologie centrée sur les données. Le programmeur va d’abord identifier un ensemble d’objets,

tel que chaque objet représente un élément qui doit être utilisé ou manipulé par le programme, sous la

forme d’ensembles de données. Ce n’est que dans un deuxième temps, que le programmeur va écrire

les traitements, en associant chaque traitement à un objet donné. Un objet peut être vu

comme une entité regroupant un ensemble de données et de méthodes (l’équivalent d’une fonction

en C) de traitement.

Données

méthodes

Données

méthodes

Objet 1

Objet 2

Figure 1 structure d'un programme orienté objet

1.1. Objet

Un objet est une variable (presque) comme les autres variables de type primitif (int, double,…). Il faut

notamment qu’il soit déclaré avec son type.

10

Chiheb-Eddine Ben N’Cir

Programmation orientée objet

Un objet est constitué d’un ensemble de données (ses attributs) et d’un ensemble d’opérations

(méthodes) :

  • Les données (ou champs) qui décrivent sa structure interne sont appelées ses attributs ;
  • Les méthodes qu’a travers de celle-ci que les objets interagissent entre eux.

Un objet ne peut être généré qu’à partir d’un modèle. Le modèle de l’objet représente la classe. Un

objet est une instance d'une classe. Pour chaque instance d'une classe, le code est le même, seules les

données sont différentes à chaque objet.

1.2. Classe

Publicité

La classe est une structure informatique particulière dans le langage objet. Elle décrit la structure

interne des données et elle définit les méthodes qui s'appliqueront aux objets de même famille (même

classe) ou type.

Une classe regroupe un ensemble de données (qui peuvent être des variables primitives ou des objets)

et un ensemble de méthodes de traitement de ces données et/ou de données extérieures à la classe. La

classe doit comporter obligatoirement une méthode spécifique (constructeur) qui permet de créer des

objets (instance de la classe).

Un ensemble des classes peut être groupées dans des dossiers appelés « package ».

Une classe est constituée d’attributs et de méthodes.

1.3. Attributs

Les attributs d’un objet sont l’ensemble des informations se présentant sous forme de variables et

permettant de représenter l’état de l’objet. Par exemple, les attributs d’un objet « étudiant » peuvent

etre son Nom, son prenom, ses Adresses, …, etc.

1.4. Méthodes

Une méthode est une fonction ou procédure liée à un objet qui est déclenchée à la réception d’un

message particulier : la méthode déclenchée correspond strictement au message reçu. La liste des

méthodes définies au sein d’un objet constitue l’interface de l’objet pour l’utilisateur. Ce sont les

messages que l’objet peut comprendre si on les lui envoie et dont la réception déclenche les méthodes

correspondantes.

1.5. Un package

Un programme orientés objet est construit d’un ou de plusieurs packages. Un package est un

ensemble de classes ayant le même domaine fonctionnel. Par exemple, dans une application de

gestion, on peut définir un package pour les classes « finance et comptabilité » et un autre package

pour les classes relative à la « gestion commerciale ».

11

Chiheb-Eddine Ben N’Cir

Programmation orientée objet

  • Package comptabilité-Finance
  • Classe plan comptable

Att 1

Att2

Méthode 1 ()

Publicité

Méthode ()

…..

  • Classe grand-livre

Att 1

Att2

Méthode 1 ()

Méthode ()

…..

  • Classe balance
  • Classe Facture

-Package gestion-commerciale

  • Classe Produit-fabriqué
  • Classe matière-première
  • Classe commande

-Package principale

  • Classe principale (contenant la méthode main())

2. Notions de base d’un programme orienté objet

2.1. Encapsulation

L’encapsulation est le fait qu’un objet renferme ses propres attributs et ses méthodes. Les détails de

l’implémentation d’un objet sont masqués aux autres objets du système à objets. On dit qu’il y a

encapsulation de données et du comportement des objets.

Il y a généralement trois modes d’accès aux attributs d’un objet (visiblité) :

  • Le mode public avec lequel les attributs seront accessibles directement par l’objet lui-même ou par

d’autres objets. Il s’agit du niveau le plus bas de protection.

  • Le mode private avec lequel les attributs de l’objet seront inaccessibles à partir d’autres objets :

seules les méthodes de l’objet pourront y accéder. Il s’agit du niveau le plus fort de protection.

  • Le mode protected : cette technique de protection est étroitement associée à la notion d’héritage. Les

attributs sont accessible au sein du même package.

12

Chiheb-Eddine Ben N’Cir

Programmation orientée objet

2.2. Abstraction

Publicité

C’est le fait de se concentrer sur les caractéristiques importantes d’un objet selon le point de vue de

l’observateur. L’abstraction peut être décrite comme un principe de factorisation. Les attributs et les

méthodes communes doivent être factorisés.

2.3. Séparation et spécialisation

Les classes définies (résultat de découplage) doivent être clairement séparables et ne partagent pas des

propriétés similaires. On ne doit pas trouver des méthodes et des attributs partagés par plusieurs

classes sauf s’il existe des liens d’héritages entre ces classes.

2.4. Héritage

La notion d’héritage est une relation entre différentes classes permettant de définir une nouvelle classe

en se basant sur les classes existantes. On parle d’héritage simple lorsqu’une classe fille ne possède

qu’une classe mère. On parle d’héritage multiple lorsqu’une classe fille possède plusieurs classes

filles.

3. Application : gestion de l’institution.

Décrire une modélisation orientée objet de l’exercice de la gestion de l’institution.

13

Chiheb-Eddine Ben N’Cir

Etudiant 1et 2

Nom

Prenom

Adresse

CIN

Note1

Note2

Saisir()

Afficher()

CalculerMoy()

Programmation orientée objet

Etudiant 3

Nom

Prenom

Adresse

CIN

Publicité

Note1

NotePFE

Saisir()

Afficher()

CalculerMoy()

Figure 2 Modélisation orientée objet du problème de la gestion de l'institution

Etudiant

Nom

Prenom

Adresse

CIN

Saisir()

Afficher()

CalculerMoy()

Etudiant 1et 2

Note1

Note2

Saisir()

Afficher()

CalculerMoy()

Etudiant 3

Note1

NotePFE

Saisir()

Afficher()

CalculerMoy()

Figure 3 Modélisation orientée objet du problème de la gestion de l'institution

14

Chiheb-Eddine Ben N’Cir