Structure
En quoi un langage objet diffère-t-il d’un langage normal ? L’essentiel se situe au niveau de la manière dont les instructions (les procédures) sont déclenchées.
En C, par exemple, une application est constituée d’une procédure principale contenant la totalité du code (y compris par l’appel indirect à des sous-programmes). Les instructions écrites dans cette procédure principale sont exécutées les unes après les autres, jusqu’à la fin (je passe pudiquement sous silence l’improbable hypothèse d’un arrêt prématuré pour cause d’erreur).
Dans un langage objet, une application est constituée de multiples procédures. Il n’y a donc plus (ou plus forcément) de procédure principale. Chaque procédure est liée à un événement, et sera donc automatiquement exécutée lorsque cet événement se produit (exemples d’évènements : un clic sur un bouton, un double-clic sur une image, etc.).
Ces événements sont la quasi-totalité du temps liés à des objets. Un objet est, pour simplifier, un zigopaf graphique qui figure quelque part à l’écran (exemples : un bouton, une case, un " ascenseur ", une commande d’un menu, etc.)
Moralité : écrire un programme objet, c’est à 99 % définir :
- quels sont les objets qui figureront à l’écran
- ce qui doit se passer lorsque l’utilisateur agit sur ces objets via la souris ou le claveir.