Résumé sur les notions d'objet

 

 

Un objet

Type d’un objet ou définition d’un objet est une CLASSE (ou entité).

A partir de là, vous pourrez:

- Réutiliser et spécialiser des classes

- Faire une hiérarchie de genres et des parties

 

Exemple de hiérarchies de genre:

Image non trouvée !

- La hiérarchie de genre permet d’effectuer une abstraction en utilisant le terme véhicule, qui est imprécis au départ, mais qui sera affinée ensuite.
- L’abstraction permet de manipuler des objets génériques, sans connaître leur fonctionnement final.

Exemple de hiérarchies de parties:

Image non trouvée !

Constructeur/destructeur

Chaque objet a son constructeur et son destructeur.

Le constructeur permettant d'initialiser l'objet

Le destructeur permettant de libérer d'éventuelles ressources en informatique.

 

Encapsulation

Un objet est composé de données (encore appelé attributs ou données membre) et de méthodes (ou fonctions membres)


L’encapsulation permet d’isoler les données ou méthodes touchant à l’intégrité de l’objet.

Ce qui n'est pas le cas en programmation structurée comme par exemple dans le cas d'une variable globale où l'ensemble des fonctions peuvent opérer sur la valeur de celle-ci.

Soit D, un compteur de 1 en 1.
Fonction1() : D = D + 1
Fonction2() : D = 0
Fonction3() : D = -1
Avec les appels au fonction2 et 3, de n'importe où, n'importe quand, votre variable peut prendre de drôle de valeur: Pb car votre variable ne s'incrémente plus de 1 en 1, et votre programme ne voit rien.

Programmation objet : D n’est pas accéssible directement. Il faudra passer par des méthodes.

La variable D est encapsulée dans des méthodes qui seront les seules à pouvoir manipuler celle-ci (vrai dans le cas de développement objet pur, beaucoup moins en développement orienté objet comme JAVA, C++, où les variables peuvent être accessibles).

Image non trouvée !

Ici, fonction1 doit déclencher la méthode "incrémenter" pour ensuite demander la nouvelle valeur de D via la méthode "lire".

 

Instance

L’existence physique d’un objet est appelé INSTANCE de la classe de l’objet.

En informatique cela permettra:

- De laisser le code des méthodes au niveau de la classe. Il n'y a ainsi pas de duplication du code en mémoire, d'où une consommation mémoire moins importante.

- D'avoir des variables générées au niveau des instances. Il est donc possible d'exécuter plusieurs objets sans pour autant y avoir d'interférence entre eux au niveau des données.

Vues externes et internes d’une classe

- Partie publique : les méthodes d'un objet sont alors accessible de l’extérieur.
- Partie protégée : les méthodes d'un objet ne seront accessible que par les classes dérivées.
- Partie privée : les méthodes ne sont accessible que par la classe seule.

Relations avec les autres classes

- Spécialisation (genre de).
- Agrégation (partie de).
- Association.

Polymorphisme/Fonctions virtuelles et classes abstraites

C’est un concept permettant d’effectuer une opération qui pourra être réalisée de façon différente par les objets partageant une même classe de base, supportant cette opération.

Image non trouvée !

 

Le polymorphisme impliquant l'apparition de la notion de fonction virtuelle et aussi celle des classes abstraites.

Si vous avez besoin de dessiner sur une table traçante ou à l'écran ses différentes formes, vous pouvez définir la méthode ou fonction "dessine" virtuellement dans la classe forme, les classes spécialisées auront ainsi obligatoirement la méthode "dessine", mais elles devront indiquer exactement ce qu'il faut faire.

Les classes abstraites pures sont des classes où il n'y a que des fonctions virtuelles.

Image non trouvée !