Développement logiciel sur mesure  ARTOFLOG
Class, Objets, Encapsulation
Services Contact

Les Class, les Objets et l'Encapsulation


Pour définir ce qu'est un objet, on pourrait tout résumer par cete phrase : "Un Objet est une instance d'une Class".

Une class, c'est quoi ? Un objet c'est quoi

Pour comprendre la notion de class, on prend souvent des analogies. Prenons par exemple la famille des Chats que l'on appellera CCHATS.
Ensuite prenoms 2 chats : un premier chat qui se nomme Felix et un deuxième chat qui se nomme Garfield

Felix et Garfield sont tous les 2 des chats, et donc sont dans le famille CCHATS

Ils ont des points communs qu'on retrouve dans la famille CCHATS : ils on des griffes, ils ont des poils, des os... Ils ont un nom, un cri...

Par contre s'ils ont un nom, leur nom leur est spécifique et il les caractérise.

 

Si on transpose cet exemple en informatique, on dira que Felix et Garfield sont des Objets de type de la Class CCHATS.
Ce sont des "créatures" /objets qui sont créés/ instanciées sur le modèle de la famille/Class des chats/CHATS

 

la notion de class en POO

 

La programmation objet est très intuitive

Si l'exemple du chat est très parlant, on pourrait encore trouver facilement de très nombreux exemples.
Une des caractéristique de la programmation orientée objet étant qu'à la base elle est très intuitive, facile d'accès et proche des CLASSification dont on a l'habitude en dehors de l'informatique.
Sa transposition en langage informatique est parfois verbeuse selon les langages alors que les notions associées à la Programamtion Orientée Objet sont très accessibles.Avant de rentrer dans les arcanes des langages informatiques, on comprend assez facilement la différence entre une Class et un Objet

Par exemple votre voiture personnelle est une instance de la class des automobiles, vous avec un objet (votre voiture personnelle) alors qu'on définit une automobile en générale par un véhicule à moteur pour particulier...

Votre boulanger fait partie de la class des artisans...


A un état correspond un comportement

Toujours sans rentrer dans le codage informatique en C# des class, revenons sur une des caractéristiques importante de la Programmation Orientée Objet.

En pratique, l'osqu'un objet est dans un état donné, il doit avoir un comportement défini associé.

Reprenons l'exemple du chat. Si Felix a la valeur fatigué : il dort

A un état donné, correspond un comportement donné.

Dans le cas du chat, le comportement de Felix est inné et provient directement de la famille des Chats.
C'est donc bien aux niveau de la famille des Chats qu'on définit le comportement qui associe le comportement dormir à l'état fatigué.

Un objet serait donc une sorte de boîte, qui réagit en fonction de son état.
Si avant en programmation procédurale on regroupait tout ce qui traitait d'un sujet dans une même unité ou dll, en Programamtion Orientée Objet on découpe en familles
(Class) et on place tout ce qui concerne le sujet dans cette boîte.

La boîte a donc des propriétés dont on reparlera dans le chapitre suivant qui gouvernent sont état.

class, etat , comportement POO


L'encapsulation et les méthodes

Notre Class (notre boîte) modifie son comportement en fonction de son état.
Pour obtenir celà, en informatique, on regroupe dans la Class les variables qui prendront une valeur pour chaque Objet, et les procédures qui travaillent avec des variables.
Dans ce cas des class, les procédures sont appelées les méthodes.

Il n'y a aucune ddifférence entre une procédure haituelles dans un langage informatique et une méthode. C'est juste un nom et cela permet de faire la différence sachant qu'une méthodes
est une procédure qui ne travaille que dans le cadre définit de la class.

Reprenons notre boîte (class). A l'intérieur on a des variables qui vont prendre des états lorsqu'elles vont être instanciées via un objet. Nous avons aussi des méthodes (procédures) qui vont permettre
d'associer un comportement à la class.

Reprenons felix et garfiled, nos objets (instances) dela famille des chats (Class CChat). Il ont par exemple une fonction caresser (méthode caresser). Quand on les caresses ils ronronnent

Flix.caresser engendre l'état ronronner

 

Imaginons une autre espèce (Class), par exemple les serprents. Cette fois quand on ferit LeSerpent.Caresser on obtiendrait le comportement attaquer.

 

C'est donc bien au niveau de la class que l'on va regrouper les variables d'état et leur omportement associé avec les méthodes.

Le principe de regroupe dans une même structure /boîte/Class les variables d'état et le comportement associé = les méthodes (procédures) est appelé l'encapsulation.

 

On résume !!!!

Un objet est une instance d'une class.

Dans une class il y a des variables, et à un état des variables dans l'objet, correspond un comportement donné définit dans la classe.

Les procédures et fonctions définies dans la class sont appelées les méthodes.

Le fait de regrouper les méthodes et les variables dans la class est appelé l'encapsulation.

 

 

 

Les class en C# >

 

 

 

 

 

 

 

 

 

 

ArtOfLog ©2018 - Développement logiciel Microsoft- France et en Suisse -