Obligement - L'Amiga au maximum

Dimanche 23 juillet 2017 - 22:32  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Programmation : C - Gadget, application de la programmation orientée objet
(Article écrit par Batchman et extrait d'A-News (Amiga News) - mars 1989)


Voici un bon moyen d'épater vos copains ou de briller en société : la programmation orientée objet est le dernier style à la mode dans les universités.

Quels sont ses avantages ?

Au niveau du code généré, aucun. Le programme n'est pas plus rapide ; il occupe autant de mémoire. Mais la source n'est plus du tout du type des programmes C courants. L'intérêt de ce style de programmation est de pouvoir manipuler des objets de tous les types de la même façon, sans se préoccuper justement de leur type.

Ceci induit beaucoup de propriétés mais ne se justifie que dans de grands programmes. Néanmoins, et pour en revenir aux gadgets, nous allons voir comment ce style de programmation peut nous simplifier la vie mais, ne nous leurrons pas, ce n'est qu'un petit aperçu des possibilités.

Les pointeurs

Il faut ici parler des pointeurs de fonction en C car le Chorizo Kid ne l'a pas fait dans ses articles d'initiation.

Une fonction en C se compose de deux parties :
  • Le code, c'est-à-dire les instructions de votre programme.
  • La valeur de retour qui est une variable du type de la fonction (int, char, etc.).
Le principe est que chaque fois que vous appelez votre fonction par f(), vous provoquez son évaluation : le code est exécuté et la valeur de retour est placée dans la variable f(). L'appellation "f" désigne l'adresse de la fonction. Vous pouvez donc manipuler des fonctions par l'intermédiaire de leurs pointeurs.

Maintenant, rappelez-vous comment on sait qu'un gadget est sélectionné : nous avons mis son numéro dans un champ de la structure. Lorsque l'événement survient, on récupère ce numéro, puis appelle la fonction correspondant au gadget par un switch{..}. Pour chaque gadget, le programmeur doit écrire dans le switch l'appel de la fonction à appeler (Cf. cet article).

Imaginez quand votre programme évolue : si vous ajoutez ou enlevez des gadgets, il faut modifier les appels des fonctions de traitement. Or, Vous oublierez toujours de modifier quelque chose dans les switchs, ou ailleurs. Ne rigolez pas, c'est l'intérêt principal de la programmation orientée objet : faciliter la maintenance.

Supposez maintenant que vous placiez dans chaque gadget un pointeur sur la fonction qu'il déclenche. Lorsque vous êtes prévenu qu'un gadget a été activé, vous appelez directement cette fonction ; vous n'avez plus besoin de déterminer quel est le gadget activé. Dans les langages orientés objet, on appelle cette fonction une méthode.

Pour résumer, il n'y a plus besoin de switch ; quand un gadget change d'état, on reçoit l'adresse de sa structure qui contient l'adresse de la fonction à appeler. Ouf ! Ce sera plus clair le mois prochain dans le programme d'exemple car, depuis que j'écris, la place commence à se faire rare. Retenez quand même l'intérêt essentiel de ce principe : si vous voulez ajouter un gadget, vous ajoutez sa structure et sa méthode : vous n'avez plus à toucher au switch puisqu'il n'existe plus !

Ceci n'est qu'un petit aperçu des possibilités de la programmation orientée objet (on dit aussi dirigée par les données) mais il montre sur notre sujet que cela facilite grandement la maintenance des programmes.


[Retour en haut] / [Retour aux articles] [Article précédent] / [Article suivant]