Programmation Orientée objet en C++
Chapter 1. 1 Vocabulaire
Chapter 2. 2 Principes de la programmation objet
2.1. La programmation procédurale
2.2. Les objets
2.3. L'héritage
2.4. Le polymorphisme
2.5. Les langages orientés objets
Chapter 3. 3 Du C au C++
Chapter 4. 4 Les classes
Chapter 5. Pointeurs et Arithmétique des pointeurs
Home pageContentsHigher levelPrevious pageBottom of pageFollowing page

2.2. Les objets

Dans une entreprise, un employé Dupont (son numéro de sécu 1 05 73 123 456 permet son identification unique dans l’entreprise), est employé sur un poste de technicien dans la société X située à Biarritz.
Son état est caractérisé par l’ensemble des valeurs de ses attributs.
- num sécu : 1 05 73 123 456
- nom : Dupont
- qualification : Technicien
- Lieu de travail : Biarritz

Son comportement est caractérisé par les opérations qu’il peut réaliser :
- entrer/sortir de la société
- changer de qualification
- changer de lieu de travail

Bref, l’ensemble des opérations pouvant affecter ses attributs.

Un peu de vocabulaire
Une classe est l’abstraction d’un ensemble d’objets qui possèdent une structure identique (liste des attributs) et un même comportement (liste des opérations). C’est un modèle décrivant le contenu et le comportement des futurs objets de la classe. Un objet est une instance d’une et une seule classe.

Si l’on reprend l’exemple précédent, la classe est l’employé, l’instance de classe (l’objet) est l’employé 1 05 73 123 456, Dupont, …

Par rapport à une approche « classique » que l’on peut observer dans la programmation procédurale, l’approche objet se caractérise par le regroupement dans une même classe de la description des attributs et des opérations (méthodes). Ce regroupement s’appelle l’encapsulation. On masque l’information au monde extérieur.
Ce principe d’encapsulation améliore l’autonomie et l’indépendance de chaque classe et augmente le potentiel de réutilisation de chacune d’elles.
La visibilité des attributs et des opérations d’une classe vis à vis d’autres porte le nom d’interface.

Un objet est donc composé de données et d’opérations (appelées méthodes) sur ces données. C’est une variable de type abstrait représentant une entité du domaine du problème.


Il se compose de deux parties :
- une partie interface composée d’opérations que l’on peut faire dessus (partie publique) – c’est cette partie qui est visible par les utilisateurs de l’objet.
- une partie interne composées des données sensibles de l’objet (partie privée).

Programmation Procédurale VARIABLE TYPE
Programmation Orientée-Objet OBJET CLASSE

Les avantages des propriétés ci-dessus sont multiples :
- meilleure modularité. Les communications entre objets sont réalisées par le biais d’opérations d’interface.
- meilleure sécurité. Le code de chaque méthode ne s’applique que sur les données de l’objet. Certaines parties de l’objet ne sont pas accessibles pour certains (et n’ont pas d’ailleurs à être connues).
- meilleure conception. Les données et les méthodes sont spécifiées en même temps.
- meilleure lisibilité. Les données et les méthodes sont décrites au même endroit.
- meilleure portabilité. Les parties masquées pourront être modifiées sans que l’utilisateur n’ait à changer son code puisqu’il n’a pas directement accès à celles-ci. C’est ici que l’on pourra mettre les points dépendant des machines.

Home pageContentsHigher levelPrevious pageTop of pageFollowing page