Langage c++

Programmation Orientée Objet

La programmation orientée objet est une nouvelle méthode de programmation qui tendà se rapprocher de notre manière naturelle d'appréhender le monde. La P.O.O.s’est surtout posé la question "Sur quoi porte le programme ?". 

En effet, un programme informatique comporte toujours des traitements, mais aussiet surtout des données. Si la programmation structurée s'intéresse auxtraitements puis aux données, la conception objet s'intéresse d'abord auxdonnées, auxquelles elle associe ensuite les traitements, il est donc intéressant d'architecturer le programme autour de ces données.

1. Caractéristiques de ProgrammationOrientée Objet

Les caractéristiques de la Programmation Orienté Objet sont :

  •  Exactitude : aptitude d’un programme à fournirles résultats voulus, dans des conditions normales d’utilisation.
  •  Extensibilité : facilité avec laquelle un programme pourra être adapté pour satisfaire à une évolution des spécifications.
  •  Réutilisabilité : possibilité d’utiliser certaines parties (modules) d’un programme pour résoudre un problème.
  •  Portabilité : facilité avec laquelle on peut exploiter un même programme dans des différentes implémentations.
  •  Efficience : temps d’exécution, taillemémoire…

2. Concepts de Programmation Orientée Objet

2.1. Objet:

L’Objet est une représentation informatique des éléments du monde réel. La P.O.O estfondé sur le concept d’objet, à savoir une association des données et desprocédures (qu’on appelle des méthodes) agissant sur les données.

L’objetest une entité atomique, caractérisé par des données et des méthodes.

Méthode+Données= Objet 

Les données :sont à l'objet ce que lesvariables sont à un programme, ce sont des variables stockant des informationsd’état de l’objet.
Les méthodes : sont les éléments d'un objet qui servent d'interface entre les donnéeset le programme. 

2.2. Classe:

On appelle classe la structure d’un objet, c’est-à-dire la déclaration de l’ensemble des entités qui composeront un objet. Les objets de même nature onten général la même structure et le même comportement. La classe factorise les caractéristiques communes de ces objets et permet de les classifier. Un objet est donc, une instanciation d’une classe, c’est la raison pour laquelle on pourra parler indifféremment d’objet ou d’instance (éventuellement d’occurrence). Toutes les instances d'une classe constituent l'extension de la classe.

2.3. Encapsulation :

Leconcept d’encapsulation est un mécanisme consistant à rassembler les données etles méthodes au sein d’une structure en cachant l’implémentation de l’objet,c’est-à-dire en empêchant l’accès aux données par un autre moyen que lesservices proposés. L’encapsulation permet donc de garantir l’intègrité des données contenues dansl’objet.

L’encapsulationpermet de définir des niveaux de visibilité des éléments de la classe. cesniveaux de visibilité définissent les droits d’accès aux données selon que l’ony accède par une méthode.

Il existe trois niveaux de visibilité :

  • Publique : Les fonctions de toutes lesclasses peuvent accéder aux données ou aux méthodes d’une classe définie avecle niveau de visibilité public. Il s’agit du plus bas niveau de protection desdonnées.  
  • Protégée : l’accès aux données est réservéaux fonctions des classes héritières, c’est-à-dire par les fonctions membres dela classe ainsi que des classes dérivées. 
  • Privée : l’accès aux données est limitéaux méthodes de la classe elle-même. Il s’agit du niveau de protection desdonnées le plus élevé.          

L’encapsulation permet de garder une cohérence dans la gestion de l'objet, tout en assurant l'intégrité des données qui ne pourront être accédées qu'au travers des méthodes visibles. 

2.4. Héritage:

L’héritage est un principe propre à la programmation orientée objet, permettant de créer une nouvelle classe à partir d’une classe existante. Le nom d’héritage (ou parfois dérivation de classe) provient du fait que la classe dérivée (la classe nouvellement créée ou bien classe fille) contient les attributs et les méthodes de sa superclasse (la classe dont elle dérive ou bien classe  mère). 

L’intérêt majeur de l’héritage est de pouvoir définir de nouveaux attributs et denouvelles méthodes pour la classe dérivée, qui viennent s’ajouter à ceux et celles héritées. 

Certains langages orientés objet, tels que le C++, permettent de faire de l’héritage multiple, ce qui signifie qu’ils offrent la possibilité de faire hériter une classe de deux super classe. Ainsi, cette technique permet de regrouper au sein d’une seule et même classe les attributs et les méthodes de plusieurs classes. 

2.5. Polymorphisme :

Le nom de polymorphisme vient du grec et signifie qui peut prendre plusieurs formes. Cette caractéristique essentielle de la programmation orientée objet caractérise la possibilité de définir plusieurs fonctions de même nom mais possédant des paramètres différents (en nombre et/ou en type), si bien que la bonne fonction sera choisie en fonction de ses paramètres lors de l’appel. 

             

Partager ce cours avec tes amis :
Rédigé par Mostafa Sedoki
Computer science teacher and the founder of the e-learning platform "developpement-informatique.com", my mission is to provide high-quality courses for free to all computer science students and teachers

Cours Similaires :