Objet


le concept Objet.





|

 
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 : 
      
  • Les Objets 
  • Les Messages 
  • Les Classes 

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 :
- Les comportements seront représentés par des méthodes.
- Les caractéristiques seront représentées par des variables.

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 : 

Emetteur

Véhicule A DéplacerVers Emplacement 12
Objet Méthode Paramètre


Message

Récepteur

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...
    
  • Les classes :
    • public : Classe accessible par tout les objets
    • protected : Classe visible par les objets de son paquetage
    • abstract : Classe abstraite ne pouvant être instancié
    • final : Classe ne pouvant être super-classe
  • Les méthodes :
    • Public : Méthode visible par tous les objets
    • Private : Méthode non visible par les objets
    • Protected : Méthode visible pour une sous-classe mais non modifiable
    • Static : Méthode ne pouvant être surchargé
    • final : Méthode ne pouvant être surchargée
  • Les variables :
    • Public : Accessible et modifiable
    • Private : non accessible
    • Protected : non modifiable
    • Static : Constante
    • final : Constante

 

 

©AF400