Le concept objet est né il y a environ 20 ans, et mis en oeuvre par le langage de programmation SIMULA(Langage de simulation) en Norvège . La technologie Objet est basée sur trois éléments majeurs :
Introduction aux Objets : Le concept objet logiciel est né du besoin de modéliser des objets du monde réel. Un objet est un "paquet" logiciel qui contient une série de procédures et de données reliées. Dans l'approche orientée objet les procédures sont des méthodes et les données des variables ou attributs. Représentation commune d'un objet : |
Tout objet du mode réel peut être représenter par un objet, qu'il s'agisse d'un objet vivant, ou d'un objet construit. Par exemple, prenons un véhicule industriel à automatiser. - Un véhicule possède plusieurs comportements : avancer, reculer, charger des éléments, ... - Un véhicule possède des caractéristiques propres : Vitesse, poids, taille, résistance, ... Pour représenter ce véhicule dans l'approche objet : Exemple
En Conclusion : L'on peut dire que chaque objet est un module indépendant, et qu'il est donc possible de définir autant de module que l'on souhaite, ce qui les rends indépendants les uns des autres. |
Introduction aux Messages : Les objets du monde réel interagissent entre eux pour effectuer une multitude de tâche. Les messages ont été inventés pour matérialiser ce besoin. Un message est le support de communication entre les objets. Un message est composé d'un nom objet suivi d'un nom de méthode, et il peut être porteur d'informations supplémentaires qui sont les paramètres. Exemple de message entre deux objets: Faire déplacer un véhicule automatique vers un emplacement :
Dans l'exemple ci-dessus, le récepteur est l'objet véhicule automatique, l'émetteur peut être un objet d'une application X. Conclusion : L'approche orientée objet consiste donc en un certain nombre d'objets interagissant entre eux par le biais de messages. |
Introduction aux Classes : Un objet peut avoir plusieurs représentations dans une action particulière. Par exemple, il est possible d'avoir plusieurs véhicules automatiques dans une usine. Pour gérer ce genre de situation, il n'est pas pensable de dupliquer en terme de code autant de fois le même objet que l'on doit avoir de représentations. Une classe est un modèle qui définit les méthodes et les variables à inclure dans un type d'objet particulier. On ne décrit ces méthodes et ces variables qu'une seule fois. Les objets appartenant à cette classes, que l'on appelle instance de la classes, ne contiennent que des valeurs propres à leurs variables
Dans cette représentation, trois véhicules automatiques représentent des instances de la classe Véhicule Automatique. Chaque véhicule possède ces propres valeurs. Exemple Le premier a une vitesse maxi de 20 Km/h le second de 12Km/h ... Un objet est donc une instance d'une classes donnée. L'ensemble du code est contenu dans la classe. Dans l'approche objet, l'on crée des classes, et ce sont les instances de classes qui sont exécutées. |
Introduction à l'Héritage :
L'objectif est de pouvoir définir des classes en fonction de la définition d'autres classes. L'héritage est un mécanisme par lequel on définit une classe d'objet comme étant un cas particulier d'une classe plus générale. On appelle sous-classes les cas particuliers d'une classe, et super-classe la classe générale de ces cas particuliers. Exemple Les classes peuvent être imbriquées à l'infini, et l'héritage s'accumule automatiquement. Cette structure est arborescente et s'appelle une hiérarchie de classe. C'est grâce à l'héritage que l'on obtient une réelle "réutilisabilité" du code, une maintenance facilité et surtout une grande évolutivité. Toutes les sous-classes héritent d'une nouvelle fonctionnalité écrite dans la super-classe. |
Introduction à la Surcharge:
La surcharge est le mécanisme qui permet d'utiliser le même nom de méthode dans la même classe ou dans desclasses différentes mais liées, pour effectuer des actions différentes. Un langage de programmation classique exigerait de donner des noms uniques à toutes les commandes logicielles permettant de dessiner les formes de l'exemple précédent (dessinerCercle, dessinerCarre, ...). Dans une approche objet, chaque forme est représentée par une classe différente. Grâce à la surcharge, on pourra utiliser le même nom pour les méthodes permettant de dessiner, à l'intérieur de chacune des classes. Il devient donc possible d'avoir un programme générique qui appelle la méthode dessiner quelque soit la forme. Ce mécanisme permet donc de mettre au point le programme générique sans connaître la totalité des formes disponibles. Introduction au Polymorphisme : On appelle polymorphisme le fait de dissimuler des procédures différentes derrière la même interface. Le polymorphisme 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. Le polymorphisme rend possible le choix automatique de la bonne méthode à adopter en fonction du type de donnée passée en paramètre. Exemple : un jeu d'échec comportant des objets fou, roi, tour,... La méthode mouvement() pourra, grâce au polymorphisme, effectuer le mouvement approprié le mouvement approprié d'une pièce grâce au type de pièce qui lui sera fourni en paramètre. |
Concept avancé : De façon à assurer l'intégrité du fonctionnement d'une classe, d'une méthode ou de la valeur d'une variable,le concept objet permet de spécifier le niveau d'isolement. C'est à dire que l'on peut interdire de modifier une méthode ou une variable , d'appeler une méthode...
|